OmerGertel уже указал на вариант null
.Тем не менее, если я правильно понимаю вашу логическую модель, то вам действительно нужен уникальный и обнуляемый внешний ключ от завтрака до яйца.Таким образом, завтрак может содержать или не содержать яйцо, и конкретное яйцо может быть связано только с одним завтраком.
Я использовал эту модель:
class Egg(models.Model):
quality = models.CharField(max_length=50)
def __unicode__(self):
return self.quality
class Breakfast(models.Model):
dish = models.TextField()
egg = models.ForeignKey(Egg, unique=True, null=True, blank=True)
def __unicode__(self):
return self.dish[:30]
и это определение администратора:
class EggAdmin(admin.ModelAdmin):
pass
class BreakfastAdmin(admin.ModelAdmin):
pass
admin.site.register(Egg, EggAdmin)
admin.site.register(Breakfast, BreakfastAdmin)
Тогда я мог бы создать и назначить яйцо на странице редактирования для завтрака или просто не назначить его.В последнем случае свойство яйца на завтраке было None.Определенное яйцо, уже назначенное на один завтрак, не может быть выбрано для другого.
РЕДАКТИРОВАТЬ:
Как уже сказал OmerGertel в своем комментарии, вы могли бы альтернативно написать это:
egg = models.OneToOneField(Egg, null=True, blank=True)