我正在尝试为我的模型创建表单验证。这是模型(没有无用的代码):
Get
这就是我收到错误的地方(它在我的views.py中):
class Card(models.Model):
link = models.URLField('lien vers le post', unique=True)
category = models.ForeignKey('Category', name='catégorie')
class Category(models.Model):
name = models.CharField('nom', max_length=64, unique=True)
description = models.TextField('description', blank=True)
确切的错误是:if form.is_valid():
link = form.cleaned_data['link']
category_id = form.cleaned_data['category']
card = Card(link=link, vigil=request.user.profile, category=category_id)
card.save()
当我在互联网上搜索时,我看到很多人出现此错误,但没有使用'category' is an invalid keyword argument for this function
,而是使用ForeignKey
字段。
答案 0 :(得分:1)
而不是category = models.ForeignKey('Category', name='catégorie')
使用category = models.ForeignKey(Category, name='catégorie')
创建卡时尝试:
category = Category.objects.get(id=form.cleaned_data['category'])
card = Card(link=link, vigil=request.user.profile, category=category)
另外,请确保您更正了型号订单:首先定义类别,然后定义卡型号。
完成此操作后,请使用name=...
verbose_name=...
希望这会有所帮助:D