【发布时间】:2023-03-04 09:52:02
【问题描述】:
从多个模型中保存旧 ID/参考号的最佳概念方法是什么?
例如:
class Project(models.Model):
reference_number = models.CharField(_('Project ID'), max_length=16,
unique=True)
class Offer(models.Model):
reference_number = models.CharField(_('Offer ID'), max_length=16,
unique=True)
我的想法:
-
每个模型都有一个单独的模型
class OldProjectNumber(models.Model): project = models.ForeignKey(Project) old_number = models.CharField(_('Old ID'), max_length=16, unique=True) ... -
一个模型适用于所有模型?
class OldNumber(models.Model): project = models.ForeignKey(Project) offer = models.ForeignKey(Offer) old_number = models.CharField(_('Old ID'), max_length=16, unique=True) 还有别的吗?
也许CommaSeparatedCharField 将值保留在模型本身中?
我需要能够搜索/过滤每个型号的旧参考号。
欢迎提出任何建议。
【问题讨论】:
-
如果您已经拥有现有数据库,则第二个模型看起来不错。如果它们是唯一的,您可以使用 One2One 关系
标签: django django-models foreign-keys