Python 传递过滤器参数时,M2m关系中断

Python 传递过滤器参数时,M2m关系中断,python,django,django-views,Python,Django,Django Views,在我的模型中,属性和图像之间存在m2m关系,比如imageproperty=models.ManyToManyField(属性,blank=True)。当我在查询中传递一个参数时,我会得到这样的结果,而这些图像显示的不是很好,所以我在尝试过滤属性及其关联图像时遇到了一个问题 . 这是到目前为止我的代码 def filter_properties(request, prop, p): order = "creation_date" if p["sort"]: order = p[

在我的模型中,属性和图像之间存在m2m关系,比如imageproperty=models.ManyToManyField(属性,blank=True)。当我在查询中传递一个参数时,我会得到这样的结果,而这些图像显示的不是很好,所以我在尝试过滤属性及其关联图像时遇到了一个问题 . 这是到目前为止我的代码

def filter_properties(request, prop, p):

    order = "creation_date"
    if p["sort"]: order = p["sort"]
    if p["asc_desc"] == "desc": order = '-' + order

    results = Property.objects.filter(status = True)
    for prop in results:
        prop.images = prop.image_set.all()[:1] #Should i need to return in results so it brings values when filtering?

    if p["name"]       : results = results.filter(name__icontains=p["name"])
    if p["price_from"]  : results = results.filter(price__gte=int(p["price_from"]))
    if p["price_to"]    : results = results.filter(price__lte=int(p["price_to"]))


    if p["category"]:
        lst = p["category"]
        or_query = Q(categories = lst[0])
        for c in lst[1:]:
            or_query = or_query | Q(categories = c)
        results = results.filter(or_query).distinct()

    return results

def search_properties_view(request):

    try: 
        page = int(request.GET.get("page", '1'))
    except ValueError:
        page = 1

    p = request.POST
    prop = defaultdict(dict)

    parameters = dict.fromkeys(
        ('name', 'price_from', 'price_to', 'currency_type', 'activity_type', 'sort', 'asc_desc'),
        '',
    )
    parameters["category"] = []

    for k, v in p.items():
        if k == "category":
            parameters[k] = [int(x) for x in p.getlist(k)]
        elif k in parameters:
            parameters[k] = v
        elif k.startswith("name") or k.startswith("curency_type") or k.startswith("activity_type"):
            k, pk = k.split('-')
            prop[pk][k] = v
        elif k.startswith("category"):
            pk = k.split('-')[1]
            prop[pk]["category"] = p.getlist(k)

    if page != 1 and "parameters" in request.session:
        parameters = request.session["parameters"]
    else:
        request.session["parameters"] = parameters

    results = filter_properties(request, prop, parameters)

    paginator = Paginator(results, 20)
    try:
        results = paginator.page(page)
    except (InvalidPage, EmptyPage):
        request = paginator.page(paginator.num_pages)

    return render(request, 'propiedades/propiedades.html', {
        'propiedades': request.POST,
        'media_url': settings.MEDIA_URL,
        'results': results,
        'params': parameters,
        'categories': PropertyCategory.objects.all()
    })

代码缩进有问题。另外,如果你检查图像,你的浏览器试图加载什么URL?这是我的代码,这是我显示的图像是的,但URL是什么?如果右键单击chrome中的坏图像并单击“检查元素”,您将看到
。什么东西?