我有一个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_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)
每个类的实例均参考上述内容,而第一个实例则参考USER“ MyUser”自定义模型。
我在视图上遇到了卡住的问题,尝试重新阅读并弄清楚了,但是我卡住了。
几乎所有的“演练”教程和说明都是陈旧且无效的。
使用“ Django == 2.0.7-Python3.6”
我只想在Views.py及其子项中显示模型字段
例如:MyUser ID = 3,并且Organization_Information通过ID引用它,我想显示他/她登录时根据用户ID查看的从“用户信息”到“资产信息”的所有信息。
我尝试使用Query-set,但是他们的任何简单解决方案都无法按需工作。
谢谢。
答案 0 :(得分:0)
尝试这样,仍然有很多方法,请查看官方文档
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'
答案 1 :(得分:0)
使用dict()或。(双下划线)dict(双下划线),您将可以访问类和继承的所有元数据,但这也带来了所有其他功能,您必须添加一些逻辑以获取您想要的数据
或者您也可以运行[f.name for f in MyModel._meta.get_fields()]
进一步了解其他问题:Django: Get list of model fields?