Python 在Django中使用select_相关函数
您好,我正试图显示table retailer\u book,但我希望它显示零售商,而不是卖家id。这些是桌子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
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中定义的零售商字段