【发布时间】:2020-11-30 07:09:30
【问题描述】:
我有两个模型。其中一个模型有一个 pk 唯一标识字符串。有时会是“TTL123”,有时是“000010”。由于某种原因,当我创建外键字段时使用整数并且项目“000010”显示为 10。我无法保存“TTL123”。为什么 django 将表创建为整数而不是字符字段?我该如何改变它?我一直在查看文档,但找不到答案。
class Item(models.Model):
item_id = models.CharField(max_length=255, primary_key=True)
# ... other fields...
class ItemRestriction(models.Model):
item = models.ForeignKey(Item, related_name='item', on_delete=models.PROTECT, blank=True, null=True)
如何使 ForeignKey 使用字符字段而不是整数?现在,当我尝试访问 item__item_id 时,我什么也得不到,因为它在 Item 表中是 000010,在 ItemRestriction 上是 10。我不明白它为什么这样做。
【问题讨论】:
标签: django postgresql django-models