当我运行测试时,我在数据库初始化期间遇到此错误:
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)
那么我该怎么做才能解决这个问题呢?
我有两个类,其中一个是另一个类的后代,我想让它们成为同一基类的同类兄弟类.
之前:
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)