Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django 如何在管理页面中编辑foreignkey字段?_Django_Django Forms_Django Admin - Fatal编程技术网

Django 如何在管理页面中编辑foreignkey字段?

Django 如何在管理页面中编辑foreignkey字段?,django,django-forms,django-admin,Django,Django Forms,Django Admin,我有一个模型,它的属性是另一个模型的foreignkey。我想从与其他属性相同的管理页面编辑forienkey模型上的属性。我正在与语法作斗争——它根本没有被改变。目前我的模型看起来像 class MyModel(models.model): fk = models.Foreignkey(OtherModel) other_attribute = CharField(...) class OtherModel(models.model): field_i_want_t

我有一个模型,它的属性是另一个模型的foreignkey。我想从与其他属性相同的管理页面编辑forienkey模型上的属性。我正在与语法作斗争——它根本没有被改变。目前我的模型看起来像

class MyModel(models.model):
    fk = models.Foreignkey(OtherModel)
    other_attribute = CharField(...)


class OtherModel(models.model):
    field_i_want_to_edit  = BooleanField(default=False)
表格为:

class MyModelAdminForm(ModelForm):
    class Meta:
        model = models.MyModel
        fields = '__all__'

    def __init__(self, *args, **kwargs):
        super(MyModelAdminForm, self).__init__(*args, **kwargs)
        self.fields['other_attribute'].label = "Edit this one"

    REC_CHOICES = [
           ('Choice1', 'Remove All things'),
           ('Choice2', 'Add some things'),
    ]

    FLAGGED_CHOICES = [
        (True, 'Flag This One'),
        (False, 'Remove Flag'),
    ]

    edited_recommendation = ChoiceField(choices=REC_CHOICES)
    fk__field__i_want_to_edit = ChoiceField(choices=FLAGGED_CHOICES)

但是当我在管理页面上为
字段选择我想要编辑的条目时,它不会改变。有什么想法吗?

Django admin未设置为通过父级编辑相关模型,除非您使用内联线或自定义视图。您有这样做的参考/示例吗?