olduğunu söylüyor Django'nun bu hatayı neden artırdığını anlamanıza yardımcı olacak mısınız?Django, modelin başka bir modele ForeignKey içermediğini, ancak gerçekten de
ŞaşırdımSolutionsForLanguagesApp.LanguageLevel: (fields.E336) modeli 'SolutionsForLanguagesApp.UserProfile.languages' ile termediate modeli olarak kullanılan , ancak 'Kullanıcıprofili' ya da 'bir dış anahtar yok Dil'.
gördüğünüz gibi, zaten LanguageLevel
yılında Language
bir yabancı anahtar vardır, çünkü:
class LanguageLevel(models.Model):
language = models.ForeignKey(Language)
level = models.ForeignKey(Level)
class Meta:
unique_together = (('level', 'language'),)
ne yapmanız gerektiğini biliyor musunuz?
DÜZENLEME - Katma UserProfile:
class UserProfile(models.Model):
user = models.OneToOneField(User, related_name='userprofile')
date_of_birth = models.DateField(null=True, blank=True)
telephone = models.CharField(max_length=40, null=True, blank=True)
IBAN = models.CharField(max_length=40, null=True, blank=True)
created = models.DateTimeField(auto_now_add=True)
modified = models.DateTimeField(auto_now=True)
MARITAL_STATUS_CHOICES = (
('single', 'Single'),
('married', 'Married'),
('separated', 'Separated'),
('divorced', 'Divorced'),
('widowed', 'Widowed'),
)
marital_status = models.CharField(max_length=40, choices=MARITAL_STATUS_CHOICES, null=True, blank=True)
HOW_DO_YOU_KNOW_ABOUT_US_CHOICES = (
('coincidence', u'It was coincidence'),
('relative_or_friends', 'From my relatives or friends'),
)
how_do_you_know_about_us = models.CharField(max_length=40, choices=HOW_DO_YOU_KNOW_ABOUT_US_CHOICES, null=True,
blank=True)
# TRANSLATOR ATTRIBUTES
is_translator = models.BooleanField(default=False)
# language_tuples = models.ManyToManyField(LanguageTuple,blank=True)
languages = models.ManyToManyField(Language, through='LanguageLevel')
rating = models.IntegerField(default=0)
number_of_ratings = models.BigIntegerField(default=0)
def __unicode__(self):
return '{} {}'.format(self.user.first_name, self.user.last_name)
def __str__(self):
return '{} {}'.format(self.user.first_name, self.user.last_name)
Bu modeli, 'UserProfile' modelinde m2m alanı 'language' olarak kullandığınız, ancak modelin kendisinde 'UserProfile' modeline bir yabancı anahtar sağlamadığınız anlamına gelir. UserProfile modelini de ekleyebilir misiniz? – AKS
Artık, UserProfile'ı sorunun alt kısmında bulabilirsiniz. Aslında, her kullanıcının kendi Dillerini ve Seviyelerini kaydetmesini istiyorum. –
2 model arasında bir ara modelin her iki modelde de bir yabancı anahtar olması gerektiğini düşünüyorum. – albar