Prawdopodobnie pytanie dla początkujących, więc proszę o zachowanie mnie.Jak zaktualizować obiekt z formularza edycji w Django?
Mam formularz Django, który edytuje określoną instancję modelu. Aby wiedzieć, który obiekt jest edytowany, mam ukryte pole zawierające identyfikator obiektu wraz z adresem URL zawierającym identyfikator.
Pierwsze pytanie: Czy identyfikacja obiektu w ukrytym polu jest właściwa?
Moja (prawdopodobnie bezpodstawna) troska o posiadanie go tylko jako części adresu URL jest taka, że ktoś mógłby następnie otworzyć stronę o jednym id obiektu, przesłać formularz do innego, a ten obiekt zostanie nadpisany. Dlatego próbuję użyć ukrytego pola.
Problem z przechowywaniem id w ukrytym polu polega na tym, że po zatwierdzeniu formularza Django skarży się, że obiekt nie ma unikalnego identyfikatora (oczywiście).
Drugie pytanie: Jeśli pole jest unikalna część formularza, w jaki sposób można powiedzieć Django zignorować fakt, że klucz już istnieje, w celu aktualizacji obiekt?
Czy możesz mi pokazać swoją postać? PS: Tak, bez zabezpieczeń (uprawnienia), '/ edit/{{id}} /' byłoby dostępne dla każdego i niebezpieczne. –
Cóż, mam zabezpieczenia, takie jak sprawdzanie, czy obiekt należy do zalogowanego użytkownika - ale nawet wtedy ten użytkownik (z nieznanych mi powodów) może edytować niezamierzony obiekt. –