Можно ли передать словарь с посторонними элементами в метод Django object.create?

Я знаю, что при использовании MyModel.objects.create в Django можно передать словарь с ключами, которые соответствуют полям модели в MyModel. Это объясняется в другом вопросе здесь: Можно ли передать словарь моделям django при создании?

Однако я пытаюсь передать словарь, в котором ключей больше, чем полей модели — другими словами, некоторые ключи не используются при создании объекта. Возможно ли это сделать каким-то образом? Например:

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'],
)

6
задан Community 23 May 2017 в 12:22
поделиться