# models.py
#Заказ class Order(models.Model): title = models.CharField(max_length=100, verbose_name=u"Название",) #Заказчик class Customer(models.Model): organization = models.CharField(max_length=50, unique=True, verbose_name=u"Организация",) # Контакты заказчика class ContactCustomer(models.Model): customer = models.ForeignKey(Customer, related_name='contacts', verbose_name=u"Клиент",) orders = models.ManyToManyField(Order, blank=True, verbose_name=u"Заказы",)
#views.py:
def ReadOrderView(request): orders = Order.objects.all() #Заказчик customers=[] for order in orders: empty_contact = ContactCustomer.objects.filter(orders=order.id)[0] customers.append(empty_contact.customer) print(customers) # Поиск q = False if 'q' in request.GET: q = request.GET['q'] orders = Order.objects.filter(Q(id__icontains=q)|Q(title__icontains=q)) #как сделать поиск заказа по названию организации return render(request, 'order_read.html', {'orders': orders, 'query':q, 'customers':customers, }, content_type="text/html")
#template
<form class="form-search" action="/orders/read" method="get"> <input type="text" class="input-medium search-query" placeholder="поиск" name="q"> <input type="submit" class="btn" value="найти"> </form> {% if query %} <p>Вы искали: <strong>{{ query }}</strong></p> {% endif %} <table class="table table-bordered" width="70%"> {% if orders %} <tr> <th>Название</th> <th>Заказчик</th> </tr> {% for line in orders %} <tr class="success" > <td colspan=2 > <a href="/orders/update/{{ line.id }}/">Заказ N {{ line.id }}</a> </td> </tr> <tr> <td><a href="/orders/update/{{ line.id }}/">{{ line.title }}</a></td> <td> {% for customer in customers %} <a href="/customers/update/{{ customer.id }}/">{{ customer.organization }}</a> {% endfor %} <!-- # как вывести название организации текущего заказа? {{ forloop.counter0 }} ??? --> </td> </tr> {% endfor %} </table> {% else %} <p> По Вашему запросу ничего не найдено </p> {% endif %}
1) как вывести название организации соответствующему заказу в template использовать {{ forloop.counter0 }} ??
2) как организовать выборку во вьюшке чтобы вести поиск и по названию организации?
Хочу чтобы вывод таблицы был такой:
заказ 1 - название организации 1
заказ 2 - название организации 2
и была возможность поиска по второму столбцу тоже
Заранее спасибо