Python django View Model.py字段通过View.py
我有一个model.py,它将3个类链接到一个用户Python django View Model.py字段通过View.py,python,django,python-3.x,Python,Django,Python 3.x,我有一个model.py,它将3个类链接到一个用户 class Organization_Information(models.Model): Organization_name = models.CharField(max_length=25) Organization_address = models.CharField(max_length=40) Organization_admin = models.OneToOneField(MyUser, on_delet
class Organization_Information(models.Model):
Organization_name = models.CharField(max_length=25)
Organization_address = models.CharField(max_length=40)
Organization_admin = models.OneToOneField(MyUser, on_delete=models.CASCADE, null=True, blank=True)
class Project(models.Model):
project_name = models.CharField(max_length= 25, default='')
organisation_name = models.ForeignKey('Organization_Information', on_delete=models.CASCADE)
class Asset(models.Model):
asset_note = models.TextField(default='',)
project_name = models.ForeignKey('Project', on_delete=models.CASCADE)
类的每个实例都引用上述内容,第一个实例引用USERMyUser自定义模型
我被困在这个观点上,我试着重新阅读它并弄明白它,但是我被卡住了
几乎所有的穿行教程和解释都是旧的和无效的
使用Django==2.0.7-Python3.6
我只想在Views.py及其子视图中显示模型字段
例如:MyUser ID=3,组织信息通过ID引用,我想根据用户登录时的ID显示从用户信息到要查看的资产信息的所有信息
我尝试使用用户查询集,但它并没有像他们所希望的那样工作,这是任何简单的解决方案
谢谢。像这样试试,还是有很多方法可以做到,查一下官方文件
x=MyUser.objects.get(id=1)
x.organization_information.Organization_name
u'llc'
>>> x.organization_information.Organization_address
u'new york'
>>> x.organization_information.Organization_admin
<User: hi>
>>>
y=x.organization_information.project_set.first()
>>> y.project_name
u'app'
>>> y.organisation_name
<Organization_Information: Organization_Information object>
z=y.asset_set.first()
>>> z.asset_note
u'train'
>>> z.project_name
<Project: Project object>
>>> z.project_name.project_name
u'app'
使用dict或.double下划线double下划线您将能够访问类和传统中的所有元数据,但这也带来了所有其他函数,您必须添加一些逻辑来获取所需的数据 或者您可以只运行[MyModel中f的f.name.\u meta.get\u fields]
阅读另一个问题的更多内容:为什么要定义两次项目模型?这是一个复制错误。感谢您的通知官方文档和教程没有过时,请详细解释如何做到这一点。我已经做到了,但英语不是我的第一语言,因此我可能误解了某些内容或不能很好地理解它。任何澄清都会有很大帮助。它工作得很好,但效率不高,也不稳定。我读了一遍又一遍地试图弄明白。但正如我上面所说的,我不能很好地理解它。非常感谢上面的片段。祝你有愉快的一天