根据是添加新记录还是编辑现有记录,在django模型中动态设置选项

时间:2018-05-07 20:52:00

标签: django django-models

如果在编辑现有记录时添加新记录和不同的设置,我希望有一组选择。我认为以下内容会起作用,但事实并非如此。

class MyModel(models.Model):
    CHOICES = (('1', 'Option 1'), ('2', 'Option 2'), ('3', 'Option 3'), ('4', 'Option 4'),)
    def test(self):
        if self.pk:
            return True
    if test is True:
        CHOICES = (('1', 'Option 1'), ('2', 'Option 2'),)
    my_field = models.CharField(max_length=1, choices=CHOICES)

1 个答案:

答案 0 :(得分:1)

基本上,您的代码足以完成您尝试的技巧; 这里只是一个小错误:
if test is True: #NOT GOOD
相反它应该是:
 if test: #GOOD

您的代码将成为

if test: # the opposite is : if not test:
    CHOICES = (('1', 'Option 1'), ('2', 'Option 2'),)