Im ein wenig verwirrt über eine M2M mit django, habe ich folgendes Problem:M2M django mit mehreren Attributen
Jeder Benutzer kann zu viele Fähigkeiten und pro Geschicklichkeit der Benutzer die Zeit der Erfahrung zu wählen. Ich meine, Django-1 Jahr, Heroku-3 Jahre, und so weiter, wie kann ich das im Django umsetzen?
Meine Modelle:
class Specialities(models.Model):
name = models.CharField(max_length=100)
def __unicode__(self):
return self.name
class Experience(models.Model):
specialities = models.ManyToManyField('self',through='RegisterProfessional',symmetrical = False)
years = models.CharField(max_length=100)
def __unicode__(self):
return self.years
class RegisterProfessional(models.Model):
id_document = models.OneToOneField(User)
specialities = models.ForeignKey(Specialities)
anios = models.ForeignKey(Experience)
Wie kann ich mein Modell zu beheben, das zu erreichen?
danke für Ihre Antwort .. Hier ist, wo ich verwirrt, warum FK in speciality in RegisterProfessional? Wie kann ich mehr als eine Spezialität in RegisterProfessional hinzufügen? ... Im Admin des Benutzermodells erscheint kein Feld. – dfrojas
Es muss ein FK sein, RegisterProfessional ist die Join-Tabelle, die die m2m-Beziehung zwischen "User" und "Speciality" herstellt. Auf dem Admin müssen Sie 'TabularInline' verwenden, wie in der Dokumentation https://docs.djangoproject.com/de/dev/ref/contrib/admin/#working-with-many-to-many-models erwähnt und Sie werden in der Lage, einem Benutzer viele Spezialitäten hinzuzufügen. – Mounir