Yur*_*upa 3 python django uml django-models
我正在尝试创建一个客户可以喜欢供应商和商店的关系,并在我的类图上(见下图)我有以下关系:
在第一个应用程序中,我有一个person对象,由供应商和客户端继承在第二个应用程序中,我只有一个商店对象(与供应商有向后关系,但它没有在类图上显示,这就是第二个应用程序即时)
问题是客户端与供应商有很多关系,而另一个与商店有很多关系,但关系客户端/存储生成错误,导致app2在应用1之后失效.
有没有办法让通用的多种关系?
因为客户可以拥有许多供应商和许多商店,商店可以拥有许多客户,供应商可以拥有许多客户

我使用的代码:
class Store(models.Model):
name = models.CharField("Nome", max_length=100)
description = models.CharField("Descrição", max_length=300)
class Meta:
app_label = 'store'
class Person(models.Model):
first_name = models.CharField("Primeiro Nome", max_length=100)
last_name = models.CharField("Ultimo Nome", max_length=100)
class Meta:
app_label = 'core'
class Vendor(Person):
bio = models.TextField("Bio", max_length=300, blank=True)
last_update = models.DateTimeField("Ultima Atualização", auto_now=True)
class Meta:
app_label = 'core'
class Client(Person):
favorite_stores = models.ManyToManyField(Store)
favorite_vendors = models.ManyToManyField(Vendor)
class Meta:
app_label = 'core'
Run Code Online (Sandbox Code Playgroud)
此代码给出了以下错误:
self.models_module = import_module(models_module_name)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
File "/core/models.py", line 7, in <module>
from store.models import Store
File "/store/models.py", line 6, in <module>
from core.models import Vendor
Run Code Online (Sandbox Code Playgroud)
而我想在管理员中看到的很简单:

小智 6
只需添加两个ManyToMany关系,而不是导入"Store"模型,直接使用字符串(以避免循环依赖)
class Client(Person):
favorite_stores = models.ManyToManyField('store.Store')
favorite_vendors = models.ManyToManyField(Vendor)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1010 次 |
| 最近记录: |