Answers
补充一点,某些时候实在绕不开循环引用了(旧代码维护,补救,。。。),可以学习 django.db.models.ForeignKey 的 做法 。
ForeignKey用于定义一个model到另外一个model的多对一关系, 它的第一个参数可以是一个model类或者model name字符串
例如
class Country(models.Model):
pass
class Car(models.Model):
manufacturer = models.ForeignKey('Manufacturer')
# country = models.ForeignKey(Country) 直接以Country作为参数进行关联
class Manufacturer(models.Model):
# ...
pass
同时接受model类型和字符串类型的考虑就是说,你可以在定义Manufacturer之前就先在Car中声明这个ForeignKey关系,在实际使用到的时候再通过model name去load对应的model。
这个方法同时也避免了两个model定义在不同的文件中的循环引用的问题
内心是潮湿的
answered 11 years, 9 months ago