2024-05-01 22:11:09 发布
网友
有点像
my_model.data_dict['my_field']
这将为您提供该字段的当前值?需要这样的东西来与我的其他代码接口。在
您可能还想看看queryset上的values方法。它将为任何查询返回字典,而不是通常的模型实例。在
https://docs.djangoproject.com/en/1.3/ref/models/querysets/#values
(摘自文件)
>>> Blog.objects.filter(name__startswith='Beatles').values() [{'id': 1, 'name': 'Beatles Blog', 'tagline': 'All the latest Beatles news.'}]
这很棘手,但你可以这样做:
def model2dict(obj): return dict([(field, getattr(obj, field)) for field in obj._meta.get_all_field_names()])
因此您可以访问以下值:
它们有一个__dict__属性(这是一个标准属性):my_model.__dict__['my_field']
__dict__
my_model.__dict__['my_field']
然而,实现这种访问的标准方法是使用getattr:getattr(my_model, 'my_field')。在
getattr
getattr(my_model, 'my_field')
请参见:http://docs.python.org/reference/datamodel.html#new-style-and-classic-classes。还要查找__slots__以了解不具有此属性的类。在
__slots__
正如Jeremy在上面指出的,任何使用django寻找此功能的人可能也会考虑使用queryset.values()(https://docs.djangoproject.com/en/dev/ref/models/querysets/#values)。在
queryset.values()
您可能还想看看queryset上的values方法。它将为任何查询返回字典,而不是通常的模型实例。在
https://docs.djangoproject.com/en/1.3/ref/models/querysets/#values
(摘自文件)
这很棘手,但你可以这样做:
因此您可以访问以下值:
^{pr2}$它们有一个
__dict__
属性(这是一个标准属性):my_model.__dict__['my_field']
然而,实现这种访问的标准方法是使用
getattr
:getattr(my_model, 'my_field')
。在请参见:http://docs.python.org/reference/datamodel.html#new-style-and-classic-classes。还要查找
__slots__
以了解不具有此属性的类。在正如Jeremy在上面指出的,任何使用django寻找此功能的人可能也会考虑使用
queryset.values()
(https://docs.djangoproject.com/en/dev/ref/models/querysets/#values)。在相关问题 更多 >
编程相关推荐