有沒有辦法通過查詢集到字段集合(顯示在views.py中)?我的目標是填充選定的HTML元素只有活動成員。或者有沒有其他方式或最佳做法來解決這個問題?Django - 如何使用基於類的UpdateView將查詢集傳遞給模板?
views.py:
class Orders_update(UpdateView):
model = Order
active_members = Member.objects.all().filter(active=True)
fields = ['order_text', 'customer', 'active_members']
template_name = "orders/orders_update.html"
success_url = '../../../orders'
orders_update.html:
{% extends "base.html" %}
{% load widget_tweaks %}
{% block content %}
<h1>Order - Update</h1>
<form class="form-group" style="width:200px" action="" method="post">{% csrf_token %}
<div class="form-group">
<div class="form-group">
{{ form.order_text|add_class:"form-control" }}
{{ form.customer|add_class:"form-control" }}
{{ form.active_members|add_class:"form-control" }}
<input class="form-control" type="submit" value="Update" />
</div>
</div>
</form>
{% endblock %}
models.py:
from django.db import models
from django.utils import timezone
class Order(models.Model):
customer = models.ForeignKey('Customer')
member = models.ForeignKey('Member')
order_text = models.CharField(max_length=200)
pick_up = models.CharField(max_length=200)
destination = models.CharField(max_length=200)
created_date = models.DateTimeField(default=timezone.now)
changed_date = models.DateTimeField(blank=True, null=True)
def created(self):
self.changed_date = timezone.now()
self.save()
def __str__(self):
return self.order_text
class Customer(models.Model):
company_name = models.CharField(max_length=200)
created_date = models.DateTimeField(default=timezone.now)
changed_date = models.DateTimeField(blank=True, null=True)
def created(self):
self.changed_date = timezone.now()
self.save()
def __str__(self): return self.company_name
class Member(models.Model):
lastname = models.CharField(max_length=20)
firstname = models.CharField(max_length=20)
created_date = models.DateTimeField(default=timezone.now)
changed_date = models.DateTimeField(blank=True, null=True)
active = models.BooleanField(default=True)
def created(self):
self.changed_date = timezone.now()
self.save()
def __str__(self):
return self.lastname
請顯示您的模型。 – Alasdair
剛剛更新了我的文章。 – oldsport