python - 使用变量进行 Django 对象过滤

标签 python django

我的模型如下所示:

class Beacon(models.Model):
    name = models.CharField()
    bid =  models.CharField()
    campaigns = models.ManyToMany(Campaign)
    location = models.ForeignKey(Location)

在我的 api View 中,我试图找到给定出价的特定信标(顺便说一句,这是信标 id)。所以我有一些看起来像这样的东西:

def SawBeacon(request, beacon_id):

    if request.method == 'GET':
        Beacon  = Beacon.objects.filter(bid__beacon_id=%s) % beacon_id

这不起作用..但我想你明白我想要做什么。我想获取传入的 beacon_id 参数并过滤到与此 ID 匹配的特定信标。

  1. 我该怎么做?
  2. 当我过滤一个对象时,我是获取对象本身还是获取值?

最佳答案

如果您要获取一个实例,您将需要使用 get 而不是过滤器。尝试:

Beacon.objects.get(bid=beacon_id)

当您使用过滤器时,您将返回一个查询集。

关于python - 使用变量进行 Django 对象过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23660469/

相关文章:

python - 使用 Python 和 Selenium 将鼠标悬停在图形上

python - Mysql Python eof 然后在获取更多数据后返回

python - Python 中的 Kruskal 算法

html - 将数据从 Django View 作为 JSON 对象传递到 vue 实例

Django URL - 如何通过干净的 URL 传递项目列表?

python - 将数据从数据表传递到模式Django

python - 为什么 python-colormath 不能将 sRGB 转换为 Adob​​e RGB?

python - 明确地说,如何让 s3fs 在 AWS 中打开 gz 文件?胶水/S3

python - ValueError at/posts/create/invalidliteral for int() with base 10 : 'create' in django Form

python - Django 教程第 1 部分 'Poll' 对象没有改变