1
我有两种模式,分别称为customer
和building
。我怎样才能使用这两个模型来使用基于类的通用视图在一个模板中进行统一查看。django:如何使用两种模式的通用视图
这是我urls.py查看我的客户
urlpatterns = patterns('',
url(r'^customer/', customerView.as_view(), name= "customer_view"),
)
这里是我的view.py客户
class customerView(UpdateView):
template_name="customer.html"
model = customer
form_class = customerForm
def get_context_data(self, **kwargs):
context = super(customerView, self).get_context_data(**kwargs)
context['pk'] = 1
context['numberOfObjects'] = customer.objects.all().count()
return context
def get_object(self, queryset = None):
try:
obj = customer.objects.get(id = 1)
except:
obj = customer.objects.create(id = 1)
return obj
def form_valid(self, form):
form.save()
return HttpResponseRedirect(reverse("customer_view", kwargs={'pk': self.kwargs['pk']}))
下面是一些用于customer.html代码同时查看customer
和building
<form action="" method="post">
{% csrf_token %}
{{ form.id }}
<div class="text_label" >FIRST NAME</div>
<div class="text_input">{{ form.FIRST_NAME }}</div>
<div class="text_label" >LAST NAME</div>
<div class="text_input">{{ form.LAST_NAME }}</div>
<div class="text_label" >BUILDING USE</div>
<div class="text_input3">{{ form.BUILDING_USE }}</div></td>
<div class="text_label" >BUILDING FLOORSPACE</div>
<div class="text_input3">{{ form.BUILDING_FLOORSPACE }}</div></td>
<div class="text_label">BUILDING YEAR</div>
<div class="text_input3" >{{ form.BUILDING_YEAR }}</div></td></tr>
rest of the code....//the first part is from the class customer and the second part is from the class building.
我的问题是我可以通用查看类客户,但不是班级建设。我该如何实现这一目标...我仍然是django的业余爱好者,并且仍然是一个非常好的方式。请原谅我,如果我问一个noob问题。请检查此How can I pass two models to a class based generic view但仍然空白。非常感谢你的帮助。
感谢@limelights的回复。抱歉再次问我是否必须写(姓名=“猴子”)或??对不起有点混淆现在... – noobes 2013-03-12 09:38:31
不,这只是一个例子,但你必须筛选的东西或如果你想要所有的建筑物你做'building.objects.all()' - 我更新了我的答案 – 2013-03-12 09:39:43
是的非常感谢你@ limelights..I现在试试...:D – noobes 2013-03-12 09:40:25