让OneToOneField to User使用ModelForm仅呈现一个文本输入(对于User.first_name



假设我有以下具有modelform的模型:

MyModel(models.Model):
    user = models.OneToOneField(User)
    age = models.IntegerField()
    is_male = models.BooleanField(default=False)
MyModelForm(models.ModelForm):
    class Meta:
        model = MyModel
        fields = ("user", # How to only insert a value for user.first_name?  
          "age")

模型窗体如何仅使用其引用的模型(MyModel)的OneToOneField(user)的一个字段(first_name)?

换句话说,我希望MyModelForm只呈现一个将值传递给user.first_name的文本输入。

我不明白为什么这不可能,因为我可以成功地做到以下几点:

>>> john = User.objects.create(first_name="John")

我重写了这个问题并修改了代码。答案可以在这里找到。

最新更新