我知道在 Django 中使用 MyModel.objects.create 时,可以传入一个字典,其中的键对应于 MyModel 中的模型字段。这在此处的另一个问题中进行了解释:Can a dictionary be passed to django models on create?
但是,我试图传入一个键比模型字段多的字典——换句话说,一些键没有用于创建对象。有可能以某种方式做到这一点吗?例如:
data_dict = {
'key1': value1,
'key2': value2,
'key3': value3,
}
class MyModel(models.Model):
key1 = models.SomeField()
key2 = models.SomeField()
m = MyModel.objects.create(**data_dict)
当我尝试这个时,我收到一条错误消息,告诉我“'key3' 是此函数的无效关键字参数”。我是否错误地传递了字典?是否有不同的方法将其传递给模型,这意味着模型不必使用所有参数?或者我是否只需像这样手动指定每个字段:
m = MyModel.objects.create(
key1 = data_dict['key1'],
key2 = data_dict['key2'],
)