【问题标题】:How to get one field from model in django如何从 django 的模型中获取一个字段
【发布时间】:2015-05-31 12:15:59
【问题描述】:

我的 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})

【问题讨论】:

  • 请展示您的完整视图。
  • 请检查我的更新。
  • "Text.objects.filter(subsID)" 什么是subsID
  • @itzmeontv 请检查我的更新 - 这是来自 Braintree 的订阅

标签: python django model field


【解决方案1】:

一般来说filterget,你必须在里面放查询,比如

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", ....]

【讨论】:

    【解决方案2】:

    您必须将 subsID 与您要查找的值相等。

    subscription_id = Text.objects.filter(subsID=<your subscrition id variable>)
    

    注意这将返回一个列表[]

    subscription_id = Text.objects.get(subsID=<your subscrition id variable>)
    

    这将返回一个对象

    【讨论】:

    • 问题是关于限制字段
    【解决方案3】:

    Link

    视图中不能使用模型,需要使用ModelForm或者Form。 使用该字段后,您可以指定哪个字段处于活动状态,或者只需在 ModelForm 中设置属性,

    exclude=['paramiter_name']
    

    它已经完成了。

    祝你好运。

    【讨论】:

    • 无论如何我的建议使用 ModelForm 更好管理。
    猜你喜欢
    • 1970-01-01
    • 2017-05-20
    • 2011-02-04
    • 2020-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-03
    • 2016-08-11
    相关资源
    最近更新 更多