0

假设我有一个名为客户端的模型,其中包含基本信息,例如名字、姓氏、电子邮件等。如果我希望用户能够添加另一个自定义字段(仅针对他),请说净值(文本字段)。该用户现在可以向他的所有客户添加净值信息。另一个用户可能想要向他的所有客户添加通话记录

我该如何设计一个可以处理来自不同用户的自定义添加的模型?而且,我正在尝试做的事情有一个特定的名称吗?

更新:

有多个帐户,每个帐户都有一组客户。我正在考虑使用 ClientCharIndex 模型来跟踪所有扩展字段,并使用 ClientCharAttribues 模型来存储所有值。

class Client(Model):
   account = models.ForeignKey(Account)
   first_name = Model.CharField()
   last_name = Model.CharField()
   ...

class ClientCharIndex(Model):
   account = models.ForeignKey(Account)
   name = Model.CharField()

class ClientCharAttribues(Model):
   key = models.ForeignKey(ClientCharIndex)
   client = models.ForeignKey(Client)
   value = Model.CharField()
4

1 回答 1

1

您可以做的是定义一个仅具有键值字段(并且可能是类型)的模型,并与client模型具有 M2M 或外键关系。

像这样的东西:

class Client(Model):
  ...

class UserAttribues(Model):
   key = Model.CharField()
   value = Model.CharField()
   client = Model.ManyToManyField(Client)

有了这个,您可以将任何键值信息添加到客户端对象和任意数量的对象中。

于 2013-04-15T04:30:17.560 回答