django - django如何将模型字段作为对象
问题描述
是否可以将模型的字段作为对象例如:我有这个模型
class User(models.Model):
name = models.CharField(max_length=255)
email = models.TextField(blank=True)
phone = models.TextField(blank=True)
现在我想将该字段用作我希望能够做到这一点的对象
def update_a_field(field):
model_field = field
query_set = User.objects.values(field.__name__).filter(field__isnull=False)
然后我可以这样调用我的函数
name = User._meta.get_field("name")
update_a_field(name)
email = User._meta.get_field("email")
update_a_field(email)
解决方案
这应该有效:
def update_a_field(field):
model_field = field
filter_data = { "{}__isnull".format(field.__name__) : False}
query_set = User.objects.values(field.__name__).filter(**filter_data)
推荐阅读
- r - R中数据帧的混洗块
- python - **减少** Spyder Python IDE 中界面字体的大小?
- c# - 等待后托管的 BackgroundService StopAsync 未执行
- asp.net - 批处理文件:等到多个 dotnet run 命令完成后再启动浏览器快捷方式
- javascript - 具有响应行为和比例缩放的两个图像
- html - ¿如何在没有服务器的情况下在 html 中添加 url 路径,单击 about 时。存在元名称?
- debugging - 使用 gdb 跟踪寄存器更改
- node.js - 如何将 React + Nodejs 应用程序部署到 Heroku,在我的服务器中,我将上传的图像保存到客户端的公共文件夹中,即 React?
- javascript - 映射数组并获取 refs.current 数组
- mathematical-optimization - Pyomo:如何将模型的所有约束添加到另一个模型?