возможно глупый вопрос, но я не уверен, как справиться с этим «правильным».
Я получил нормальную форму с некоторыми полями.
Я могу вставить данные без проблем.
Когда я хочу отредактировать запись, я использую функцию «model_to_dict» для заполнения формы.
После редактирования записи я хочу сохранить ее, и тут начинаются мои проблемы.
В документации django говорится, что модель автоматически создает или обновляет запись в зависимости от значения pk. если pk-значение существует, его обновление, в противном случае вставка.
Итак, я создал эту функцию сохранения:
def save(self, primary_key=0):
mymodel = Somemodel(pk=primary_key,
samplefield=self.cleaned_data['samplefield'],
)
mymodel .save()
print 'PK:'+str(d.pk)
# Handle the MultipleChoiceField's
for x in self.cleaned_data['paymentMethod']:
x.mymodel_set.add(d)
Итак, это прекрасно работает, когда я редактирую запись.
Но когда я вставляю новую запись, она вставляется нормально, но mymodel.id = 0, что означает, что я не могу сохранить отношения для MultipleChoiceFields.
Итак, я хотел бы знать, является ли это хорошим способом справиться с этим?
И почему mymodel.id = 0 после сохранения модели?