动态更改Django模型属性

时间:2013-02-21 16:27:30

标签: python django factory-boy

我正在尝试使用factory_boy为具有循环依赖关系factory_boy: circular dependencies的应用创建django应用的灯具。

模型:

from django.db import models

class A(models.Model):
    b = models.ForeignKey(B)

class B(models.Model):
    c = models.ForeignKey(C)

class C(models.Model):
    a = models.ForeignKey(A, null=False)

工厂:

# in AFactory
b = SubFactory(BFactory)
# in BFactory
c = SubFactory(CFactory)
# in CFactory
a = CircularSubFactory('a_factory', 'AFactory', b__c__a=None)

使用这些工厂运行factory_boy脚本时,我遇到ValueError: Cannot assign None: "C.a" does not allow null values错误,这是正常的,因为C.a设置了null=False

是否可以加载C,更改C.a以设置null=True,然后运行我的factory_boy脚本?

几点:

  • 我知道那会很丑,但似乎我别无选择。它只会在内部用于创建灯具。
  • 我无法更改我的模型,因为它是一个已经在运行的应用程序,这些类是核心的一部分。

0 个答案:

没有答案