【问题标题】:Stringing a search in two models?在两个模型中进行搜索?
【发布时间】:2012-06-13 22:32:27
【问题描述】:

我遇到的问题是将两个模型的链式搜索传递给模板,这两个数据库通过custom_id链接,如下所示:

注:这是一个原模型交互的例子,很长

型号:

from django.db import models

class Model (models.Model):
     custom_id = (max_length = 10)
     data = models.CharField (max_length = 100)

Model1 class (models.Model):
     models.IntegerField custom_id = (max_length = 10)

Model2 class (models.Model):
     relation2 = models.OneToOneField (Model1)

class UserProfile (models.Model):
     models.ForeignKey user = (User, unique = True)
     relation1 = models.ManyToManyField (Model2)

这显示了页面上所有这些 custom_id 用户登录

custom = Model1.objects.filter (model2__userprofile__user__username = user) 

问题是如何sack所有与这个custom_id相关的数据?

在终端中向我显示了数据以及与此的两个交互:

for element in custom:
     customid = str(elemento.custom_id)
     data = Model.objects.filter(customid=customid)

但我只在数据中保留一个。

【问题讨论】:

  • 自定义 [, ]
  • alldata = Model.objects.filter(custom_id__in=custom) 终端中的 alldata [] 不工作!
  • 当我查看所有 custom_id 并将 custom 过滤为 QuerySets 时?
  • alldata = Model.objects.filter(custom_id=custom) DatabaseError: (1242, '子查询返回超过 1 行')
  • 我正在阅读成就,没有什么要解决的。我想知道您是否可以使用多个过滤器扩展查询集(例如将是两个 custom_id)并通过使用自定义过滤所有结果,然后为模板中的每个 custom_id 单独制作数据?我还想过为每个自定义查询集 id 创建一个变量并将其发送到模板,问题是您确实要从模板发送尽可能多的 plot a,可以是 10 个 custom_id,例如 plot a:{% for自定义元素中的元素 %} {{id_{{elemento.custom_id}}}} {% endfor %} 可能吗?

标签: django django-models django-templates django-views


【解决方案1】:

我已经解决了。

将另一个变量加载到包含此变量的模板必须执行循环并包含我的自定义查询:

from itertools import *

for element in custom:
    result = # operation
    query = chain (query, [result])

查询功能与查询集模板中的方式相同。

【讨论】:

    猜你喜欢
    • 2019-08-16
    • 1970-01-01
    • 2015-07-29
    • 2017-09-24
    • 2015-10-31
    • 2014-09-01
    • 2014-02-05
    • 1970-01-01
    • 2012-09-20
    相关资源
    最近更新 更多