1

私はクラスを持っていて、それはmodelFormです。

class UserGoal(models.Model):
    user = models.ForeignKey(User)
    goal = models.ForeignKey(Goal)
    deadline = models.DateTimeField(blank=True, null=True)
    goalETA = models.DateTimeField(blank=True, null=True)
    def __unicode__(self):
        return u'%s, %s, %s ' %(self.user, self.goal, self.deadline)

class partialGoalSetForm(ModelForm):
    class Meta:
        model = UserGoal
        fields = ('deadline', 'goalETA') 

このコードは、2つのフィールド(deadlineとgoalETA)のみをフォームに含める場合に正常に機能します。ただし、リストから1つ削除すると、次のようになります。

 fields = ('deadline')

次に、次のエラーが発生します。

django.core.exceptions.FieldError:UserGoalに指定された不明なフィールド(a、e、d、i、l、n)

「締め切り」を文字でトークン化しているようです。とても奇妙です。

私が試した解決策は次のとおりです。

 fields = ('deadline')

 fields = 'deadline'

 field = ('deadline')

 field = 'deadline'

どれも機能しません。

助言がありますか?ご協力ありがとうございました。

4

1 に答える 1

4

フィールドには項目が 1 つしかないため、末尾のコンマをタプルとして扱う必要があります。それ以外の場合は、 string として扱われます"deadline"

fields = ('deadline',)
于 2012-11-03T20:20:47.253 に答える