Corrida de Definição do Modelo Django
Como você lida com o caso em que você tem um modelo (A) que depende do modelo (B) sendo definido, mas o modelo (B) também depende do modelo (A) sendo definido.
Por exemplo, eu tenho
class event(models.Model):
competition_start = models.DateField()
competitors = models.ManyToManyField(picture)
results = models.CommaSeparatedIntegerField(max_length=20)
class picture(models.Model):
uploader = models.OneToOneField(UserProfile)
upload_date = models.DateField()
image = models.ImageField(upload_to="media")
score = models.DecimalField(max_digits=10,decimal_places=10)
score_RD = models.DecimalField(max_digits=10,decimal_places=10)
rated = models.BooleanField()
last_competed = models.DateField()
competition = models.OneToOneField(event)
O campo dos concorrentes depende da imagem que está sendo definida, mas a imagem depende do evento que está sendo definido.
Observe que cada figura (A) compartilha um relacionamento de um para um com um evento, mas o evento pode envolver várias outras imagens (set (S) -A).
Eu tentei trocar para colocar
competitors = models.ManyToManyField(picture)
user_pic = models.OneToOneField(picture)
dentro do evento e se livrando do campo 'concorrência', mas acredito que o SQL não permita isso. Alguém pode explicar por quê?
Qual correção devo executar se precisar de um relacionamento OneToOne para um campo e um relacionamento ManyToMany com outro? (entre as duas mesmas classes)
Obrigado :)