![](/img/trans.png)
[英]Django TypeError(“'%s' is an invalid keyword argument for this function”)
[英]Django TypeError: 'bar' is an invalid keyword argument for this function
因此,我曾經在同一個應用程序中有兩個模型可以正常工作,但是當我將兩個模型都移動到不同的類時,我似乎無法使ForeignKey正常工作。 有問題的模型:
from app1.models import Bar
class Foo(models.Model):
name = models.CharField('...............')
bar = models.ForeignKey(Bar, editable=False, verbose_name=_('Bar'))
但是當我嘗試:
>>>f = Foo(name='name', bar=existing_bar).save()
我懂了
TypeError: 'bar' is an invalid keyword argument for this function
我在Django中使用mongodb。 我不明白為什么當他們在同一個應用程序上時,它可以完美地工作,但是現在不:/
我在舊的收藏集中注意到foo文檔有一個bar_id字段,而現在沒有,因為它的價值。
我不太確定為什么會這樣,django docs中可能提到了一些東西,但是現在您可以提供__init__
來保持它的正常工作-
對於python 3+
class Foo(models.Model):
name = models.CharField('...............')
bar = models.ForeignKey(Bar, editable=False, verbose_name=_('Bar'))
def __init__(self, *args, bar=None, **kwargs):
super().__init__(*args, **kwargs)
self.bar = bar
對於python 2.6+
class Foo(models.Model):
name = models.CharField('...............')
bar = models.ForeignKey(Bar, editable=False, verbose_name=_('Bar'))
def __init__(self, *args, bar=None, **kwargs):
super(Foo, self).__init__(*args, **kwargs)
self.bar = bar
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.