Чтобы избежать проблем со ссылками на объекты с помощью объединенных полей символов, вместо этого следует использовать идентификатор контакта для ссылки на объект контакта:
<option value="{{ contact.id }}" name="selected_contact" id="selected_contact">{{ contact.firstName }} {{ contact.lastName }}</option>
Затем установите contact_id
для связанной модели, чтобы она правильно ссылаласьобъект контакта:
if form.is_valid():
obj.contact_id = request.POST.get('selected_contact')
Предполагается, что obj.contact
является ForeignKey модели с именем Contact
, например:
class Whatever(models.Model):
contact = ForeignKey(Contact, on_delete=models.CASCADE)
Это отношение гарантирует, что вы всегда сохраняете ссылочныйцелостность и предотвратит проблемы, подобные той, с которой вы столкнулись, а также другие проблемы, например, когда два контакта имеют одинаковое имя.