现在我遇到了问题
RuntimeError: Can't resolve dependencies
运行测试时和经过长时间调试后我们发现forigen键关系是问题所在
然而,我们在我们的应用程序中需要这种关系
我必须得到Django Groups的所有者关系
这样的模型:
class UserAccount(AbstractUser):
arabic_name = models.CharField(max_length=128, default='', blank=True)
parent = models.ForigenKey('self', null=True)
django.contrib.auth.models import Group
Group.add_to_class('owner', models.ForeignKey('users.UserAccount',
blank=True,
null=True,
related_name='groups_created'
))
因为我需要为组定义所有者,因为我拥有针对用户的特定层次结构系统,因此没有人可以看到其他组
那我该怎么办?
class UserAccount(AbstractUser):
arabic_name = models.CharField(max_length=128, default='', blank=True)
hierarchy_id = models.PositiveIntegerField()
django.contrib.auth.models import Group
Group.add_to_class('hierarchy_id', models.PositiveIntegerField(null=True))
#script populate hierarchy
h_id=0
for user in users:
if user.is_parent:
then user.hierar...... = h_id
等等..我填充了层次结构ID而不是关系
由于
答案 0 :(得分:0)
实际上,我发现您可以在不知情的情况下进行循环依赖,以防万一您进行了关联并进行迁移,然后过了一段时间再进行反向关联,然后再进行迁移,它不会发生冲突,但是例如在测试中两者都立即迁移时它将发生冲突。所以我尝试了这种解决方案,并在问了一年的问题后进行了测试,效果很好。
class UserAccount(AbstractUser):
arabic_name = models.CharField(max_length=128, default='', blank=True)
hierarchy_id = models.PositiveIntegerField()
django.contrib.auth.models import Group
Group.add_to_class('hierarchy_id', models.PositiveIntegerField(null=True))
#script populate hierarchy
h_id=0
for user in users:
if user.is_parent:
then user.hierar...... = h_id