ForeignKey的。 “此函数的关键字参数无效”

时间:2016-01-11 17:44:09

标签: python django django-models

我正在尝试为我的模型创建表单验证。这是模型(没有无用的代码):

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字段。

1 个答案:

答案 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