在ListView的< code>views.py类中,我尝试添加一个公式,该公式使用< code>get_context_data()方法中某个对象的特定元素。以下是我尝试过的。
Models.py
Class MyModel(models.Model):
foo = models.FloatField()
bar = models.FloatField()
views.py
class MyView(generic.ListView):
template_name = "my_item_list.html"
model = MyModel
def get_context_data(self, **kwargs):
obj = MyModel.objects.get(pk=this_object_id)
var_a = obj['foo']
var_b = obj['bar']
result = var_a * var_b
context = {
'result': result,
}
return context
这将引发对象不支持索引
错误。我已经尝试了几种不同的方法来访问特定的对象元素,但没有运气。我不是在试图注释(这是SO Q的绝大多数)
作为补充说明,如果我将obj
传递到上下文数据中,我可以轻松迭代到模板中的元素值-因此我知道。get()
方法工作正常-这只是视图中的“简单”数学,我无法使用。
我确实找到了这个(model_to_dict()
),但它正在将obj
变成字典 - 我认为这可以工作,但似乎比我预期的要多得多。
你应该使用属性,对象是模型类的实例而不是字典
var_a = obj.foo
var_b = obj.bar
result = var_a * var_b
最好是在模型的声明中创建属性:
Class MyModel(models.Model):
foo = models.FloatField()
bar = models.FloatField()
@property
def multiply_fb(self):
return self.foo * self.bar
并且在视图中:
class MyView(generic.ListView):
template_name = "my_item_list.html"
model = MyModel
def get_context_data(self, **kwargs):
obj = MyModel.objects.get(pk=this_object_id)
context = {
'result': obj.multiply_fb,
}
return context
问题内容: 这是一个相当基本的问题(我是Django的新手),但是在模板的视图中使用变量集时遇到了麻烦。如果我在视图内初始化字符串或列表(即h =“ hello”),然后尝试在模板内调用它: 既没有输出也没有错误。同样,如果我尝试在模板中使用不存在的变量: 再次没有错误报告。这正常吗?以及如何在模板中使用变量。谢谢! 问题答案: 为了能够访问模板中的变量,它必须位于用于渲染该模板的上下文中。我的猜
我有Gammer模型,即用户扩展和竞争模型。很多用户可以参加一场比赛,而一场比赛可以有很多用户(很多) 插件管理。py: 管理员可以查看球员比赛(用户)或为他们分配能力 现在我希望玩家(用户)可以注册比赛(选择比赛)。我如何继续?
我有类似于这个问题用例 我想检查什么类型的实例变量存储在参数中而不引发异常 我想做的是这样的事情 我如何改变这个实现,使它允许我窥视什么类型的参数是持有的 谢谢你的回答,还有几点 我是C++11所以不能使用variant或any 有没有标准的方法。我想要的是一个实例变量的类,可以是多种类型(有界的),并在阅读它时,检查它是什么类型
问题内容: 关于如何序列化模型QuerySet的文档很多,但是如何将模型实例的字段序列化为JSON? 问题答案: 您可以轻松地使用列表来包装所需的对象,这就是Django序列化程序正确序列化它所需要的,例如:
问题内容: 我正在寻找一种以图形方式表示Django项目模型的方法。 有没有一种“本机”方式来进行这种ERD(图表)? 按照@Etienne说明进行更新 这是一个示例,说明了我如何最终查看代表django项目某些模型的PDF 它实际上与我的应用程序(app1,app2,…)一起生成点数据 将结果传递到dot以PDF格式输出 用打开输出 evince 问题答案: 如果要从Django模型中提取UML
我正在尝试开发一款android应用程序,具有回收视图。所以我创建了一个项目视图、一个模型类和适配器。在在viewHolder方法内部初始化,在初始化变量时显示错误,我无法找出下面这段代码的错误。 下面是item_view_model的代码。xml 下面是ModelClass的代码。JAVA 下面是**适配器的代码。爪哇** 如何解决这个问题??