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中将模型注册到管理界面?