相关疑难解决方法(0)

InvalidBasesError:无法解析[<ModelState:'users.GroupProxy'>]的基数

当我运行测试时,我在数据库初始化期间遇到此错误:

django.db.migrations.state.InvalidBasesError: Cannot resolve bases for [<ModelState: 'users.GroupProxy'>]
This can happen if you are inheriting models from an app with migrations (e.g. contrib.auth)
Run Code Online (Sandbox Code Playgroud)

我为contrib.auth Group模型创建了这个代理,将它放在django admin的应用程序中:

class GroupProxy(Group):
    class Meta:
        proxy = True
        verbose_name = Group._meta.verbose_name
        verbose_name_plural = Group._meta.verbose_name_plural
Run Code Online (Sandbox Code Playgroud)

那么我该怎么做才能解决这个问题呢?

python django unit-testing django-models django-migrations

24
推荐指数
7
解决办法
1万
查看次数

在使用South迁移重新授权的类时,我对_ptr使用什么值?

我有两个类,其中一个是另一个类的后代,我想让它们成为同一基类的同类兄弟类.

之前:

from django.db import models

class A(models.Model):
    name = models.CharField(max_length=10)

class B(models.Model):
    title = models.CharField(max_length=10)
Run Code Online (Sandbox Code Playgroud)

后:

from django.db import models

class Base(models.Model):
    name = models.CharField(max_length=10)

class A(Base):
    pass

class B(Base):
    title = models.CharField(max_length=10)
Run Code Online (Sandbox Code Playgroud)

当我生成模式迁移时,这是输出,包括我对问题的回答:

+ Added model basetest.Base
? The field 'B.a_ptr' does not have a default specified, yet is NOT NULL.
? Since you are removing this field, you MUST specify a default
? value to use for existing rows. Would you like to:
?  1. Quit now, …
Run Code Online (Sandbox Code Playgroud)

django-south

11
推荐指数
2
解决办法
2492
查看次数