繁体   English   中英

django:将模型字段设置为 models.py 中的选项

[英]django: set model fields as choices in models.py

是否可以从另一个表中设置字段的选择? 例如

class Initial_Exam(models.Model):
    Question_category = models.CharField(max_length=20, choices = Job.Job_Position)

class Job(models.Model):
    Job_Position = models.CharField(max_length=30, null=True)

类似的东西

要关闭此:如上评论,而不是扭曲我的实现,设置为外键, Initial_Exam使用__unicode__Job做了工作

应该是这样的:

class Job(models.Model): Job_Position = models.CharField(max_length=30, null=True) def __unicode__(self): return self.Job_Requirements

这将在管理面板Job_Position显示为选项

我感谢社区,真的很感激

您绝对可以通过外键关系绑定到另一个模型,但是如果您的选择数量较少,那么您可能需要考虑以下模式用于较小的选择列表(我将它用于小于 10 的相当恒定的选择列表):

class FrequencyType(models.Model):

    FREQ_MONTHLY = 1
    FREQ_QUARTERLY = 3
    FREQ_YEARLY = 12

    FREQ_CHOICES = (
        (FREQ_MONTHLY, 'Monthly'),
        (FREQ_QUARTERLY, 'Quarterly'),
        (FREQ_YEARLY, 'Yearly'),
    )

    frequency = models.SmallIntegerField(default=FREQ_MONTHLY, choices=FREQ_CHOICES)

或者,另一个例子:

class YesNoModel(models.Model):
    NO = 0
    YES = 1

    YESNO_CHOICES = (
        (NO, 'No'),
        (YES, 'Yes'),
    )

    weight = models.IntegerField(default=NO, choices=YESNO_CHOICES)

祝你好运。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM