We can then enter the URL http://chap08.booksomeplace.local/property/edit/ into the browser. Here is the resulting screen, showing the sub-forms for each subclass:
If any of the fields fail validation, the form is re-displayed, with error messages next to the appropriate form fields. Once the form has been completed successfully, the user is redirected to a form where room types for this property can be added.
On a production website, you would also need to invoke authentication and authorization Django middleware. This would ensure that only partners or admins would be allowed to enter and update property information. Further, the authentication process could capture the partner key, which would eliminate the need for the partner key to be a form field.