Python 如何在django中创建模型字段的动态选择

Python 如何在django中创建模型字段的动态选择,python,django,Python,Django,在代码中,我根据用户的选择创建了一个字段,但这导致了一个问题: 当我创建一个新用户时,新的用户名不会出现在“所有者”字段中; 我需要重新启动服务器。所以我希望所有者文件应该是动态的,有什么方法可以做到这一点吗 我不想使用Owner=models.ForeignKey(User,…),因为可能我不仅会使用auth_用户的名称。为什么要将Owner存储为CharField?如果它是对用户对象的引用,则应该是ForeignKey 评论后编辑您的数据模型似乎已损坏。然而,如果您真的想将其保留为CharF

在代码中,我根据用户的选择创建了一个字段,但这导致了一个问题: 当我创建一个新用户时,新的用户名不会出现在“所有者”字段中; 我需要重新启动服务器。所以我希望所有者文件应该是动态的,有什么方法可以做到这一点吗


我不想使用
Owner=models.ForeignKey(User,…)
,因为可能我不仅会使用auth_用户的名称。

为什么要将Owner存储为CharField?如果它是对用户对象的引用,则应该是ForeignKey


评论后编辑您的数据模型似乎已损坏。然而,如果您真的想将其保留为CharField,则根本不应该尝试在模型中设置选项。定义自定义表单并使用ModelChoiceField或在表单的
\uuuu init\uuuu
方法中设置选项。

,是否有任何方法可以实现作为我的注释,我不想使用ForeignKey,因为这些选项可能不是来自用户
class Task(models.Model):

    owner_set=set()
    for each in User.objects.all():
         owner_set.add((each.username,each.username))

    Owner = models.CharField(max_length=100,choices=owner_set)