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 :)

questionAnswers(2)

yourAnswerToTheQuestion