价值对象Djang

2024-06-09 00:01:09 发布

您现在位置:Python中文网/ 问答频道 /正文

早上好,首先对不起我的英语,因为我正在使用谷歌翻译。

现在我开始使用Python和Django,我和我在创建模型时出现了一个问题。我想创建如下内容:

人(型号.型号)

  • 姓名
  • 。。。
  • 地址

地址(型号.型号)

  • 公共场所
  • 邻里
  • 。。。

也就是说,地址作为单独的ValueObject,以便使用多个模型。在address类中的数据库字段中,将持久化到person表和可能出现的其他实体(企业、客户机,“任何可能有地址的人”)。因此,避免为您需要的每个模型复制所有地址字段。

我看到这样做是通过为抽象设置元类地址并继承其他类地址。但是如果我想做更多的ValueObjects,必须从几个类继承,我想知道是否有一个更正确的方法。

谢谢。


Tags: django模型实体邻里数据库内容客户机address
1条回答
网友
1楼 · 发布于 2024-06-09 00:01:09

你想要这样的东西:

class Person(models.Model):
    LastName = models.CharField(max_length=30)
    FirstName = models.CharField(max_length=30)
    ...
    address = models.ManyToManyField(Address)

在这个多个地址中,一个人可以有多个地址,每个地址可以有多个人。如果您希望每人只允许一个地址,请使用

^{pr2}$

这仍然允许每个地址有多个人。在

相关问题 更多 >