在 ForeignKey Django 模型上继承或设置选择
Posted
技术标签:
【中文标题】在 ForeignKey Django 模型上继承或设置选择【英文标题】:Inherit or set choises on ForeignKey Django model 【发布时间】:2013-02-19 19:23:30 【问题描述】:让我们来看看这些模型:
from .choices import STATUS_CHOISES
class Status(models.Model):
current_status = models.CharField("Current status", max_length=50, choices=STATUS_CHOICES, default='new')
status_change_date = models.DateField(verbose_name="Status change date", default=datetime.datetime.now())
class ProductRequest(models.Model):
destination = models.CharField("Product Destination", max_length=255)
status = models.ForeignKey(Status)
选择:
STATUS_CHOICES = (
('new', 'New'),
('ongoing', 'Ongoing'),
('finalized', 'Finalized'),
)
我需要在 ForeignKey 上设置相同的默认值并使用原始模型中的相同选项。我该怎么做?
【问题讨论】:
看看这篇文章:mechanicalgirl.com/post/dynamic-choices-on-a-foreignkey-field。希望能给你一些想法。 我认为这是不可能的,因为外键是基于 PK 而不是选择 【参考方案1】:决定使用简单属性:
class ProductRequest(models.Model):
destination = models.CharField("Product Destination", max_length=255)
status = models.CharField("Request Status", max_length=50, choices=STATUS_CHOICES, default='new')
寻找存储状态更改日期的方法..
【讨论】:
以上是关于在 ForeignKey Django 模型上继承或设置选择的主要内容,如果未能解决你的问题,请参考以下文章
允许 Django 模型 ForeignKey 字段的表单上的 TextInput
Django Admin Cookbook-36如何更改下拉菜单中的ForeignKey显示文本
ForeignKey null=True 时 Django 慢查询