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

时间:2015-10-10 19:18:58

标签: python django python-2.7 django-models

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

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)

类似的东西

2 个答案:

答案 0 :(得分:0)

关闭此: 如上所述,不是扭曲我的实现,而是设置__unicode__的外键并在Job上使用class Job(models.Model): Job_Position = models.CharField(max_length=30, null=True) def __unicode__(self): return self.Job_Requirements完成了这项工作

应如下所示:

Job_Position

会在管理面板中显示{{1}}作为选项

我感谢社区,真的很感激

答案 1 :(得分:0)

你绝对可以绑定到具有ForeignKey关系的另一个模型,但是如果你选择的数量较少,那么你可能需要考虑更小的选择列表(我公平地使用它)常数选择列表少于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)
祝你好运。