2015-06-18 2 views
-4

У меня есть две модели:Джанго множественным QuerySet и итерация над шаблоном

class Customer(models.Model): 
    user = models.ForeignKey(User) 
    region_id = models.IntegerField(blank=True, null=True) 
    company_name = models.CharField(max_length=45, blank=True) 

class Enquiry(models.Model): 
    customer = models.ForeignKey(User) 
    region_id = models.IntegerField(blank=True, null=True) 
    status = models.CharField(max_length=45, null=False, blank=False) 
    date_of_enquiry = models.DateField(auto_now_add=True) 

шаблон должен выглядеть

enquiry_id Company_name region_id date_of_enquiry 
1    xyz   abc   12/2/2015  
2    mno   pqr   12/2/2015 

Обе модели ссылаются на Customer_ID

Извините за неудобства,

Позвольте мне усомниться здесь

Я запрашиваю из таблицы запроса с фильтрами как region_id и статус вроде этого (соответствующий loggedin user region_id с таблицей запросов region_id и статусом справочной таблицы) получено_объект = запрос.объект.filter (region_id = user_obj.region_id, статус = «запрос Отправленные»)

я получить выход как этот

enquiry_id region_id date_of_enquiry 
1    abc   12/2/2015  
2    pqr   12/2/2015 

, но я хочу, чтобы показать название компании также в таблице

так я написал запрос в

userAdded_Object = []

для элемента в received_object: userAdded_object.append (Customer.objects.get (идентификатор_пользователь = item.customer_id))

и итерациях два запроса устанавливается в течение одного цикла над шаблоном не работает

+2

И? В чем вопрос? –

ответ

0

Это очень, очень простой вопрос, который вы можете почти вытащить непосредственно из примеров в документах; пожалуйста, найдите время, чтобы прочитать их. Вот почему ваш вопрос занижается.

Вопросы, требующие помощи с кодом, должны как минимум предоставить код, который вы пробовали, который не работает. Просить людей, чтобы написать код для вас неодобрением, но я чувствую себя щедрым утром так:

Вид:

def your_view(request): 
    enquiries = Enquiry.objects.select_related('customer').all() 
    return render(request, 'your-template.html', {'enquiries': enquiries}) 

Таблица:

<table> 
    {% for enquiry in enquiries %} 
    <tr> 
     <td>{{ enquiry.id }}</td> 
     <td>{{ enquiry.customer.company_name }}</td> 
     <td>{{ enquiry.region }}</td> 
     <td>{{ enquiry.date_of_enquiry }}</td> 
    </tr> 
    {% empty %} 
    <tr> 
     <td>Sorry, no enquiries.</td> 
    </tr> 
    {% endfor %} 
</table> 

Однако ваше customer поле на Enquiry указывает на User, а не Customer, поэтому вам нужно исправить это. Вы действительно должны работать через Django tutorial, если вы еще этого не сделали.

+0

Это дало мне некоторую идею .. спасибо – Somashekhar