Я изменил приложение каталога django-oscar, чтобы изменить используемые модели.Насколько я понимаю, не главным образом и не таким образом, чтобы это могло повлиять на извлечение данных из базы данных.Кажется, это подтверждается тем фактом, что панель инструментов django-oscar по-прежнему работает нормально и позволяет мне добавлять и просматривать продукты.Мой models.py из моего разветвленного приложения:
from django.db import models
class Collection(models.Model):
name = models.CharField(max_length=50)
prod_category = models.CharField(max_length=50)
description = models.TextField()
manufacturer = models.TextField()
num_products = models.PositiveIntegerField()
image_url = models.URLField()
from oscar.apps.catalogue.abstract_models import AbstractProduct
class Product(AbstractProduct):
collection = models.ForeignKey(Collection, on_delete=models.CASCADE, null=True)
multiplier = models.DecimalField(max_digits=2, decimal_places=1, default='2.2')
from oscar.apps.catalogue.models import *
Вот мой соответствующий вид из моего views.py
def product(request):
template = loader.get_template('/home/my_app/my_site/main_page/templates/main_page/product.html')
prods = Product.objects.values_list('categories')
context={'prods': prods}
return HttpResponse(template.render(context))
Я попытался загрузить из встроенной модели и моей разветвленной модели (комментирование и раскомментирование одного или обоих), ни одно из них не имеет значения:
#from forkedoscarapps.catalogue.models import Product
from oscar.core.loading import get_class, get_model
Product = get_model('catalogue', 'product')
И код, который я использую в шаблоне для отображения данных из представления:
{% for instance in prods %}
<li><{{ instance.name }}</li>
{% endfor %}
Полученный HTMLis:
<li></li>
Что показывает, что он достигает цикла for, но по какой-то причине данные не возвращаются.
Существует по крайней мере одна категория с именем bed, которая хорошо отображается в django.-оскар приборной панели.Что я пропустил в своем представлении?
edit: Когда я изменяю instance.name
на instance
, я получаю следующее возвращаемое в HTML:
(1,)
Так что это несколько работаети показывает, что я предполагаю, что возвращается первичный ключ, но почему имя поля не возвращается?