簡體   English   中英

使用Django內聯formset獲取'modelformset_factory而不定義'字段'錯誤'。 我究竟做錯了什么?

[英]Getting a 'modelformset_factory without defining 'fields' error' using Django inline formset. What am I doing wrong?

我的models.py看起來像這樣:

class Member(models.Model):
    name = models.CharField(max_length=255)
    occupation = models.CharField(max_length=255)

class FamilyMember(models.Model):
    name = models.CharField(max_length=255)
    relation = models.CharField(max_length=255)
    member = models.ForeignKey(Member)

我正在嘗試為成員表單中的家庭成員創建內聯表單。 為此,我使用inlineformset_factory

from django import forms
from myapp.models import *
from django.forms.models import inlineformset_factory

class MemberForm(forms.ModelForm):
    class Meta:
        model = Member
        fields = [
            'name', 'occupation',
        ]

FamilyMemberFormSet = inlineformset_factory(Member, FamilyMember)

當我運行服務器時,我收到以下錯誤:

"Calling modelformset_factory without defining 'fields' or "
django.core.exceptions.ImproperlyConfigured: Calling >modelformset_factory without defining 'fields' or 'exclude' explicitly is prohibited.

我究竟做錯了什么?

我不確定,但我認為您忘記將表單傳遞給inlineformset_factory

FamilyMemberFormSet = inlineformset_factory(Member, FamilyMember, form=MemberForm)

或者,您應使用fields參數或exclude指定應包含/排除的fields

請參閱Django doc中有關inlineformset_factory的一些示例。

這個給你:

FamilyMemberFormSet = inlineformset_factory(Member, FamilyMember, fields =['name', 'occupation',])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM