django从另一个模型填充管理列表框字段

时间:2013-09-23 20:21:00

标签: django model listbox

我有一个模型字段,员工用户可以从列表框中选择一个值。我使用了修复列表和“choiches”参数。

class Exercise(models.Model):
    member = models.ForeignKey(Member)
    name = models.CharField(max_length=50, choices=EXERCISES_LIST) 

其中EXERCISE_LIST是“choiches”参数所需的元组序列。

现在我想给员工用户自己使用模型创建这个EXERCISES_LIST的可能性,是否可能?如果他们从一个练习模型记录使用的列表中删除一个项目会发生什么?

1 个答案:

答案 0 :(得分:0)

这是解决方案:

  1. 我在models.py中创建了另一个模型,仅用于练习的名称:

    类ExerciseName(models.Model):     name = models.CharField(max_length = 50)

    def __str__(self):
        return u'%s' % (self.name)
    
  2. 我修改了原始模型,将ForeignKey添加到ExerciseName

    类练习(models.Model):     member = models.ForeignKey(会员)     name = models.ForeignKey(ExerciseName)

  3. 我在admin.py中注册了ExerciseName模型,可以在单独的管理视图中修改它们。

    admin.site.register(ExerciseName)

  4. 所以现在我可以创建一个新的练习并从另一个模型(ExerciseName)中选择它的名字。