Я создаю форму, которая может создать сообщение, если оно не существует, или обновить сообщение, если оно уже существует. Я хочу сделать это, используя тот же адрес и представление. В представлении класса django generi c для этого используются два URL-адреса. Хотя мне удалось создать сообщение, но для обновления, я не могу получить существующие данные соответствующего внешнего ключа. Я хотел бы обновить эти существующие данные, если некоторые данные уже существуют в базе данных. Мой код выглядит следующим образом.
models.py
class BookDetail(models.Model):
book = models.ForeignKey(Book,default=None,on_delete=models.CASCADE)
book_summary = models.CharField(max_length=255,null=True)
book_details = RichTextUploadingField(blank=True,null=True)
timestamps = models.DateTimeField(auto_now_add=True,auto_now=False)
updated = models.DateTimeField(auto_now_add=False,auto_now=True)
bookdetails состоит из внешнего ключа для модели книги. Я хочу создать детали книги, используя этот внешний ключ. Но если данные уже созданы, и пользователь хочет обновить их, я хочу, чтобы они обновлялись с использованием того же URL-адреса. Я использовал метод update_or_create django. Но мне не удалось отправить данные формы в атрибуте defaults метода update_or_create. Как я могу создавать и обновлять эти данные, используя тот же адрес?