如何构建django模型



我在django做网上购物项目。我把我的项目分成管理应用程序,版主应用程序,商店应用程序。

有两种产品,一种是版主插入的,另一种是注册商店插入的。

我是否需要为两个应用程序创建单独的产品模型,

如果我试图给一个共同的产品表内管理应用程序,会有外键的问题。

那么我将如何创建产品模型,单独(一个在版主应用程序和商店应用程序)或共同(在管理应用程序)

订单模型和库存模型也是同样的问题。

class Product(models.Model):
user = models.Foreignkey(User, null=True, blank=True, ondelete=models.CASCADE)
shop = models.Foreignkey(Shop, null=True, blank=True, ondelete=models.CASCADE)
name = models.Charfield(max_length = 50)
...

如果用户和商店将被添加,那么它将被视为已注册商店的产品;如果用户和商店是空白的,那么它将被认为是主持人插入的产品。

有几种可能的解决方案:

  1. 您可以创建您的产品模型的模型(抽象与否,这取决于您是否需要请求数据库中的所有产品),并从它继承创建具有商店FK的ShopProduct和具有版主FK的另一个ModeratorProduct

  2. 您可以在产品模型https://docs.djangoproject.com/en/3.1/ref/contrib/contenttypes/#generic-relations中使用通用FK来提供与Shop或Moderator的关系

  3. 您可以为您的模型(Shop和Moderator)提供两个fk,并且每个产品只定义一个。

最新更新