Python Can';在Django admin中看不到模型属性

Python Can';在Django admin中看不到模型属性,python,django,django-models,Python,Django,Django Models,我更改了models.py通过model为我的一个旧模型添加。我不是UserProfileLanguage,它是UserProfile、Language和Level之间的关系。每个用户配置文件可以在不同的级别上具有多种语言(技能) 现在我查看了Django管理员,查看是否可以将手动语言及其级别添加到用户配置文件,但我在那里看不到它 你知道哪里有问题吗 我已经在UserProfile模型中注释了属性languages,以便您可以看到它 这是我的型号.py: from __future__ impo

我更改了
models.py
通过model为我的一个旧
模型添加
。我不是
UserProfileLanguage
,它是
UserProfile
Language
Level
之间的关系。每个
用户配置文件
可以在不同的
级别上具有多种
语言
(技能)

现在我查看了
Django管理员
,查看是否可以将手动
语言
及其
级别
添加到
用户配置文件
,但我在那里看不到它

你知道哪里有问题吗

我已经在
UserProfile
模型中注释了属性
languages
,以便您可以看到它

这是我的
型号.py

from __future__ import unicode_literals
# from django.contrib.auth.base_user import AbstractBaseUser
from django.contrib.auth.models import User
from django.db import models

class AdminContact(models.Model):
    email = models.EmailField()
    telephone = models.CharField(max_length=40)

    def __unicode__(self):
        return self.email

class Language(models.Model):
    shortcut = models.CharField(max_length=40)
    name = models.CharField(max_length=40)

    def __str__(self):
        return self.name

class Level(models.Model):
    LEVEL_CHOICES = (
        ('standard','Standard level'),
        ('professional','Professional level'),
        ('native','Native speaker level'),
    )
    name = models.CharField(max_length=40,choices=LEVEL_CHOICES, blank=False, null=False)
    price_multiplier = models.FloatField()

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)

    # I CANT SEE THIS ATTRIBUTE <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
    languages = models.ManyToManyField(Language, through='UserProfileLanguage')

    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)

class UserProfileLanguage(models.Model):
    userprofile = models.ForeignKey(UserProfile)
    language = models.ForeignKey(Language)
    level = models.ForeignKey(Level)

    class Meta:
        unique_together = (('userprofile', 'language'),)

class Job(models.Model):
    customer = models.ForeignKey(User, related_name='orders')
    translator = models.ForeignKey(User, related_name='jobs',null=True)
    price = models.FloatField(null=True,blank=True)

    # ZADAVA CUSTOMER
    description = models.TextField()
    file = models.FileField(null=True,blank=True)
    language_tuple = models.ForeignKey(LanguageTuple,related_name='jobs')
    specialist = models.BooleanField(blank=True)

    # AUTOMATICKY GENEROVANE
    created = models.DateTimeField(auto_now_add=True)
    modified = models.DateTimeField(auto_now=True)

    is_active = models.BooleanField(default=False)

    is_done = models.BooleanField(default=False)

    @property
    def has_translator(self):
        return self.translator_id is not None


    def __str__(self):
        return '{}: {}'.format(self.customer,self.language_tuple)
从未来导入unicode文本
#从django.contrib.auth.base\u用户导入AbstractBaseUser
从django.contrib.auth.models导入用户
从django.db导入模型
类AdminContact(models.Model):
email=models.EmailField()
电话=models.CharField(最大长度=40)
def ___; unicode(自):
返回self.email
类语言(models.Model):
快捷方式=models.CharField(最大长度=40)
name=models.CharField(最大长度=40)
定义(自我):
返回self.name
类级别(models.Model):
级别_选项=(
(“标准”、“标准水平”),
(“专业”、“专业水平”),
(‘母语’,‘母语水平’),
)
name=models.CharField(最大长度=40,选项=LEVEL\u选项,blank=False,null=False)
price_乘数=models.FloatField()
类UserProfile(models.Model):
user=models.OneToOneField(用户,相关的\u name='userprofile')
出生日期=models.DateField(null=True,blank=True)
电话=models.CharField(最大长度=40,null=True,blank=True)
IBAN=models.CharField(最大长度=40,null=True,blank=True)
created=models.DateTimeField(auto\u now\u add=True)
modified=models.DateTimeField(auto\u now=True)
婚姻状况选择=(
('single','single'),
(‘已婚’、‘已婚’),
(‘分离’、‘分离’),
(“离婚”、“离婚”),
(“丧偶的”、“丧偶的”),
)
婚姻状况=models.CharField(最大长度=40,选项=婚姻状况,null=True,blank=True)
你如何知道我们的选择=(
(“巧合”,你“这是巧合”),
(“亲戚或朋友”、“我的亲戚或朋友”),
)
CharField(最大长度=40,选项=如何知道选项,null=True,
空白=真)
#翻译器属性
is_translator=models.BooleanField(默认值=False)
language\u tuples=models.ManyToManyField(LanguageTuple,blank=True)

#我看不到此属性您是否在
admin.py
中注册了您的模型?是的,当然已经注册了,但没有任何帮助。您是否运行了makemigrations,migrate?@ElyaTunik是的,我注册了。您是否在admin.py中将模型注册到管理界面?