django通过View.py查看Model.py字段

时间:2018-07-17 11:44:56

标签: 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_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,但是他们的任何简单解决方案都无法按需工作。

谢谢。

2 个答案:

答案 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?