Question

J'obtiens cette erreur lors de l'exécution de syncdb

Je n'arrive pas à comprendre le problème. Veuillez aider.

    Error: One or more models did not validate:
store.business: Reverse query name for field 'logo' clashes with field 'ImageBank.business'. Add a related_name argument to the definition for 'logo'.

Voici mes modèles:

class Business(models.Model):
    business_type = models.ManyToManyField(BusinessType)
    business_service_type = models.ManyToManyField(ServiceType)
    establishment_type = models.ForeignKey(EstablishmentType)
    logo = models.ForeignKey(ImageBank, related_name = '%(class)s_logocreated',)
    phone = PhoneNumberField()
    address = models.ForeignKey(Address)
    website = models.URLField()
    name = models.CharField(max_length=64)

    def __unicode__(self):
        return self.name

class ImageBank(models.Model):
    business = models.ForeignKey('Business', related_name='%(class)s_business')
    image = models.ImageField(upload_to="images/bank")

    def url(self):
        return self.image.url

    def __unicode__(self):
        return unicode(self.business) + " : " + unicode(self.image)

Modèle de magasin:

class Store(models.Model):
    business = models.ForeignKey(Business,null=True, related_name='business_creator_set')
    condition = models.CharField(verbose_name='What do customers have to do?',max_length = 50)
    reward = models.CharField(verbose_name='What do customers win?',max_length = 50)
    display = models.BooleanField(default=True)
    date_created = models.DateTimeField(default=datetime.now)


    def __unicode__(self):
        return self.condition + ", " + self.reward

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top