Python django中关系模型的放置位置
首先是简化的场景:Python django中关系模型的放置位置,python,django,django-models,orm,Python,Django,Django Models,Orm,首先是简化的场景: from django.db import models class Product(models.Model): name = models.TextField() description = models.TextField() class Merchant(models.Model): name = models.TextField() class MerchantProductMapping(models.Model): merc
from django.db import models
class Product(models.Model):
name = models.TextField()
description = models.TextField()
class Merchant(models.Model):
name = models.TextField()
class MerchantProductMapping(models.Model):
merchant = models.ForeignKey(Merchant)
product = models.ForeignKey(Product)
price = models.IntegerField()
inventory_limit = models.IntegerField()
我有另一个关系模型(MerchantProductMapping
),因为该关系有自己的属性。现在,商家
和产品
模式的需求已经增长到了一个程度,他们需要自己的独立应用程序。商户
应用程序的模型.py
是商户
模型将生存的地方,产品
应用程序的模型.py
是产品
模型将生存的地方。我需要的帮助是关系模型
MerchantProductMapping
。这两个应用都需要它,我应该把它放在哪里?我一直在阅读Mixin的相关资料,想知道他们是否能帮到我。编辑:我应该补充一点,应用程序是在服务器端呈现的。现在将使用angular client-RESTAPI方法完成。django rest框架将用于django之上。为此创建“通用”应用程序。。。您可以将装饰器、模板标签、基本表单、基本模型、登录|注销重定向视图和URL、ajax视图、基本过滤器、基本表。。。等 注意:创建“应用程序”python包目录(目录中包含
\uuu init\uuuu.py
)并(重构)将所有应用程序移动到该目录中
编辑:
另一种方法-创建“models”python包dir并将models.py拆分为包中逻辑分隔的文件您可以放入任何
models.py
文件中。在数据库中,它只是数据库中的新表。我知道我可以把它放在任何地方。我想知道的是它“应该”放在哪里。我投票给merchant
的model.py
。然后在需要时将它导入类别models.py
中。你能解释一下“base”是什么意思吗?我如何在我的场景中使用您的策略?我之前用的是一个models.py,但它太大了。一个普通的应用程序不会挫败将我的项目模块化为应用程序的目的吗?我添加了另一种方法,但我的应用程序几乎围绕一个中心模型。所以我不确定是否将它们聚合到一个目录下。我在想,如果我像Lafada建议的那样将其添加到任何一个应用程序中,或者像您在备选解决方案中那样将其添加到单个软件包中,那么它将不会像模块化或可重用那样。我不想到处都要进口。您以前的解决方案更接近目标。我会离开商家,让产品应用程序继续运行。需要该关系的应用程序将具有该关系。此应用程序将不会涵盖商户与其他型号的关系,但只会担心自身