我的django应用程序中有这样的模型。我想只绘制这个模型的一个字段并将它们放在视图中。我的解决方案不起作用:
obj = Text.objects.get(subsID)
我的模特
result = braintree.Subscription.create({
"payment_method_token": payment_method_token,
"plan_id": "67mm"
})
subscription_id = result.subscription.id
class Text(models.Model):
title = models.CharField(max_length=255)
text = models.TextField()
date_from = models.DateTimeField('date from', blank=True, null=True)
date_to = models.DateTimeField('date to', blank=True, null=True)
subsID = models.CharField(default=subscription_id, max_length=255)
def __unicode__(self):
return self.title
我的观点
def get_history(request):
subscription_id = Text.objects.filter(subsID)
history = braintree.Subscription.find(subscription_id)
return render(request, "sheet/history.html", {"history": history})
答案 0 :(得分:11)
通常,当filter
或get
时,您必须在其中加入查询,例如
subscription_id = Text.objects.filter(fieldname="searchterm")
这将返回queryset
。所以要查看此
subscription_id.values() #returns a list of objects(dicts)
如果您只想获得subsID
subscription_id.values("subsID")
这也会返回包含
的列表[{"subsID":"value"}, {"subsID":"value"} ....]
如果您想获得only
值
subscription_id.values_list("subsID", flat=True)
这将返回
["value", "value", ....]
答案 1 :(得分:1)
您必须将subsID与您要查找的值相等。
subscription_id = Text.objects.filter(subsID=<your subscrition id variable>)
注意这将返回一个列表[]
subscription_id = Text.objects.get(subsID=<your subscrition id variable>)
这将返回一个对象
答案 2 :(得分:0)
您无法在视图中使用模型,需要使用ModelForm或Form。 使用该字段后,您可以指定哪个字段处于活动状态,也可以直接在ModelForm中设置属性,
exclude=['paramiter_name']
就完成了。
祝你好运。