相关疑难解决方法(0)

Django:获取模型字段列表?

我已经定义了一个User(最终)继承自的类models.Model.我想获得为此模型定义的所有字段的列表.例如,phone_number = CharField(max_length=20).基本上,我想要检索从Field类继承的任何东西.

我以为我可以通过利用来检索这些inspect.getmembers(model),但它返回的列表不包含任何这些字段.看起来Django已经掌握了这个类,并添加了所有的魔法属性,并删除了实际定义的内容.那么......我怎样才能获得这些领域?它们可能具有为自己的内部目的检索它们的功能吗?

django django-models

172
推荐指数
12
解决办法
13万
查看次数

如何反省django模型领域?

我试图获取模型中的字段的类信息,当我只知道字段的名称和模型的名称(两个普通字符串).这怎么可能?

我可以动态加载模型:

from django.db import models
model = models.get_model('myapp','mymodel')
Run Code Online (Sandbox Code Playgroud)

现在我有场 - 'myfield' - 我怎么能得到那个领域的班级?

如果该字段是关系型的 - 如何获取相关字段?

谢谢你!

python introspection django-models

35
推荐指数
2
解决办法
2万
查看次数

django对象获取/设置字段

我可以通过其他方式获取对象字段的值obj.field吗?有类似obj.get('field')存在吗?设置字段值的方法相同.

django-models

28
推荐指数
2
解决办法
3万
查看次数

Django模型字段由变量

快问.我正在尝试使用变量访问模型的一个字段.

class ExampleModel(models.Model):
      the_field = models.CharField()
      the_field_two = models.CharField()
Run Code Online (Sandbox Code Playgroud)

如何动态访问该字段?我试过了:

model = ExampleModel.objects.get(pk=1)
fieldtoget = 'the_field'
test_var = model[fieldtoget]
Run Code Online (Sandbox Code Playgroud)

但它似乎没有用,任何想法我会怎么做?

更新:我想我会更新我的问题.我正在尝试编写一个函数(作为更大函数的一部分),它不仅可以获取字段的值,还可以从变量fieldname更新它.例如:

model[fieldtoget] = 'yo'
model.save()
Run Code Online (Sandbox Code Playgroud)

在PHP中你可以使用{}包装器 - $model{$fieldtoget}作为一个例子,对于动态变量名称希望在python中有类似的东西:)

干杯

python django

17
推荐指数
1
解决办法
1万
查看次数

如何将django QuerySet转换为numpy记录数组?

如何将django QuerySet转换为numpy记录数组?

PS:我知道你可以迭代并构建它,但还有其他更清洁的解决方案吗?

django numpy

11
推荐指数
3
解决办法
4809
查看次数

将项目从模型导出到CSV Django/Python

我是django和Python的新手,希望能够导出我的模型中的项目列表,即产品.我正在看这里的文档 - https://docs.djangoproject.com/en/dev/howto/outputting-csv/

我需要创建一个存储我想要的所有数据的变量.但不确定它在上面链接的代码片段中的位置.

道歉,因为这是一个非常无聊的问题,但真的会有任何帮助.

这是我的脚本到目前为止的代码:

import csv

from products.models import Product

from django.http import HttpResponse


def export_to_csv(request):
    response = HttpResponse(content_type='text/csv')
    response['Content-Disposition'] = 'attachment; filename="mytest.csv"'
Run Code Online (Sandbox Code Playgroud)

python django django-models python-3.x

7
推荐指数
2
解决办法
2万
查看次数

Django:保存前修改模型的字段

我有一个模型,当然,带有ImageFieldFileField so I\xe2\x80\x99d like to create a folder each time the user create a course. I think I can do this before the model is saved so here is my question.

\n

如何访问方法中的 model\xe2\x80\x99s 字段?

\n

模型.py

\n
Class Course(models.Model):\n Thumbnail = model.ImageField(upload_to=\xe2\x80\x9c...\xe2\x80\x9d,...)\n\n    def save(self, *args, **kwargd):\n        ... #How can I alter here the ImageField parameters?\n        super().save(*args, **kwargs)\n
Run Code Online (Sandbox Code Playgroud)\n

python django django-models

4
推荐指数
1
解决办法
7467
查看次数

django 循环遍历模型字段

可能的重复:
Django 获取模型的字段

我有下一个模型:

class People(models.Model):
    name = models.CharField(max_length=100)
    lastname = models.CharField(max_length=100)
Run Code Online (Sandbox Code Playgroud)

我想遍历 People 表中的所有项目。

在views.py中

- 当我尝试这个时:

  for each in People().objects.all():
     name=each.name
Run Code Online (Sandbox Code Playgroud)

我收到那个错误:

Manager isn't accessible via People instances
Run Code Online (Sandbox Code Playgroud)

- 当我尝试这个时:

  for each in People():
     name=each.name
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

'People' object is not iterable
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题以及如何遍历 People 表中的所有项目?

python django

2
推荐指数
1
解决办法
9052
查看次数