我是django的新手,我正在尝试制作一个简单的更新表单,您可以在其中输入要修改的对象的PK,并在同一个表单中修改对象的字段,而不是通过url输入pk,而是从以前通过url http://127.0.0.1:8001/update/打开的表单中输入PK,我正在使用UpdateView,并尝试取消get_queryset方法,到目前为止,我已经实现了取消方法并打开窗体,但我必须传递一个pk,否则它不会打开,我不知道如何使窗体打开为空。
- 型号:**
class Lote(models.Model):
lote = models.CharField(verbose_name='Lote', max_length=10, primary_key=True)
codigo = models.CharField(verbose_name='Codigo', max_length=10, blank=True, null=True)
producto = models.CharField(blank=True, max_length=50, null=True, verbose_name='Producto')
timestamp= models.DateTimeField(auto_now_add=True)
- 表格:**
class LoteForm(forms.ModelForm):
class Meta:
model = Lote
fields = ["lote","producto","codigo"]
class LoteFormView(forms.Form):
lote = forms.CharField(max_length=20)
producto = forms.CharField(max_length=20)
codigo = forms.CharField(max_length=20)
View:
class Update(UpdateView):
model = Lote
template_name = 'lote/updateview.html'
fields = ['lote', 'codigo', 'producto']
success_url = '/update/'
def get_object(self, queryset=None):
return Lote.objects.get(pk=11111)
- 网址:**
url(r'^update/$', Update.as_view(), name='update'),
- 结果:**
- 我想要的**
enter image description here
我希望打开空白表单,然后将Lote(pk)传递给它,并且能够更新其他字段并重定向到空白表单
感谢您的帮助和关注
1条答案
按热度按时间qxgroojn1#
我得到的答案是