Python 在Django中使用select_相关函数

Python 在Django中使用select_相关函数,python,django,Python,Django,您好,我正试图显示table retailer\u book,但我希望它显示零售商,而不是卖家id。这些是桌子 class retailer(models.Model): sellerID = models.IntegerField(primary_key=True) retailer = models.CharField(max_length=255) def __str__(self): return self.retailer clas

您好,我正试图显示table retailer\u book,但我希望它显示零售商,而不是卖家id。这些是桌子

class retailer(models.Model):
    sellerID = models.IntegerField(primary_key=True)
    retailer = models.CharField(max_length=255)
    
    def __str__(self):
        return self.retailer


class retailer_book(models.Model):
    ISBN = models.ForeignKey(books, on_delete = models.CASCADE)
    sellerID = models.ForeignKey(retailer, on_delete = models.CASCADE)
    condition = models.CharField(max_length=255)
    price = models.FloatField()
    reviews= models.CharField(max_length=255)
    ID =  models.IntegerField(primary_key=True)
    bookType = models.CharField(max_length=255)

我试过:

object_list1 = retailer_book.objects.filter(ISBN_id = query).select_related("sellerID_id")
但当我尝试显示它时,它不会显示零售商

这是我的观点

class SearchResultsView1(ListView):
    model = books
    template_name = 'TextSearch/search_results.html'
    context_object_name = "object_list"

    def get_queryset(self): # new
        query = self.request.GET.get('q')
        object_list1 = retailer_book.objects.filter(ISBN_id = query).select_related("sellerID_id")
        return object_list
这是我的HTML代码

<h1>Book Options: </h1>
<table border="1">
    <tr>
        <th> ID </th>
        <th> Retailer </th>
        <th> condition </th>
        <th> Book Type </th>
        <th> Reviews </th>
        <th> Price </th>
    </tr>
    {% for result in object_list %}
    <tr>
        <td>
          {{result.ID}}
        </td>
        <td>
          {{result.retailer}}
        </td>
        <td>
          {{result.condition}}
        </td>
        <td>
          {{result.bookType}}
        </td>
        <td>
          {{result.reviews}}
        </td>
        <td>
          {{result.price}}
        </td>
    </tr>
    {% endfor %}
</table>
书籍选项:
身份证件
零售商
条件
书型
评论
价格
{对象_列表%中的结果为%0}
{{result.ID}
{{result.retailer}
{{result.condition}
{{result.bookType}
{{result.reviews}
{{result.price}
{%endfor%}

零售商
零售商
外键的名称是
sellerID
,但您在HTML模板中引用的相关对象是
零售商
。请尝试以下两种方法之一:

  • 将您的
    ForeignKey
    字段重命名为
    retailer
    (推荐)
  • 在HTML模板中重命名对零售商的引用
    {{result.retailer}}->{{result.sellerID}}

  • 我引用它是因为我想让它打印零售商而不是销售商,而后者将为您工作。请考虑零售商是零售商的一本书,只能通过SeleRID来获得。或者,如果您希望,您只能使用result.sellerID,它将打印str中定义的零售商字段