Django中app的model相互引用问题
Posted Jason_WangYing
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django中app的model相互引用问题相关的知识,希望对你有一定的参考价值。
Django有俩个 app
----------在 Course 的models.py中:
from Shopping.models import Coupon, OrderDetail
class Course:
order_details = GenericRelation(to=OrderDetail)
coupon = GenericRelation(to=Coupon)
-------------在Shopping的models.py中:
from Course.models import Account
class Coupon:
account = models.ForeignKey(to=Account, verbose_name="拥有者", on_delete=None, related_name="coupons")
class OrderDetail:
pass
报错:ImportError: cannot import name '***' from '*****'
原因:暂不清楚
解决方案:使用app_name.class_name的方式,注意不是app_name.models.class_name
在 Course 的models.py中:
class Course:
order_details = GenericRelation(to="Shopping.OrderDetail")
coupon = GenericRelation(to="Shopping.Coupon")
在Shopping的models.py中:
class Coupon:
account = models.ForeignKey(to="Course.Account", verbose_name="拥有者", on_delete=None, related_name="coupons")
class OrderDetail:
pass
以上是关于Django中app的model相互引用问题的主要内容,如果未能解决你的问题,请参考以下文章
Django模型:两个类之间的相互引用以及在python中无法使用前向声明
Django,在 self 类中的多对多关系中,我如何在 ORM 方面相互引用?