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相互引用问题的主要内容,如果未能解决你的问题,请参考以下文章