带有默认参数的 django get_or_create

标签 django dictionary parameters

我有以下代码的语法错误:

ids_row={}
ids_row["releve_annee"]=int(row[0])
ids_row["releve_mois"]=int(row[1])
ids_row["no_ordre"]=int(row[2])
defaults={}
defaults["titre_rmc"]=row[3].strip()
defaults["notes"]=row[17].strip()
instance, created = Act.objects.get_or_create(**ids_row, defaults=defaults)

我的型号:
class Act(models.Model):
    releve_annee=models.IntegerField(max_length=4, blank=False, null=False)
    releve_mois=models.IntegerField(max_length=2, blank=False, null=False)
    no_ordre=models.IntegerField(max_length=2, blank=False, null=False)
    titre_rmc=models.CharField(max_length=2000, blank=False, null=False)
    notes=models.CharField(max_length=2000,  blank=True, null=True, default=None)
        class Meta:
        unique_together=(("releve_annee", "releve_mois", "no_ordre"), )

在 shell 中:
instance, created = Act.objects.get_or_create(**ids_row, defaults=defaults)
                                                       ^
SyntaxError: invalid syntax

如果我删除 defaults=defaults ,错误消失。怎么了?

最佳答案

尝试改变参数的顺序,

instance, created = Act.objects.get_or_create(defaults=defaults, **ids_row)

关于带有默认参数的 django get_or_create,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19914174/

相关文章:

python - django 自定义 UserManager 中的 self.model()

python - 为什么函数将错误的值附加到列表中?

jquery - 将数据传递给 jQuery click() 函数

python - 检查 QuerySet 中是否存在对象

python - 为什么 django-south 不包含在 django.contrib 中?

django - postgres 和 docker 组合 : change service status to ready after additional initialization

python - 使用csv写两个字典

java - 在 Java 的构造函数中初始化 Map 的更好方法

java - 使用泛型创建参数类

c# - C# 中的 2 个参数未编译