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