如何在 Django 1.8 中使用 CreateView 显示 ManyToMany 字段
How to show ManyToMany fields using CreateView in Django 1.8
我在 Django 1.8 中做一个基本应用程序,我正在使用 Create-View,我不知道为什么创建表单没有 manyTOmany 字段,也没有以前在我的模型中定义的外键字段。这是我的代码:
My Model:
class Autor(models.Model):
nombre = models.CharField(max_length=30)
....
class Editor(models.Model):
nombre = models.CharField(max_length=30)
...
class Libro(models.Model):
titulo = models.CharField(max_length=100)
autores = models.ManyToManyField(Autor) #MANY2MANY FIELD
editor = models.ForeignKey(Editor) #FOREIGN KEY FIELD
fecha_publicacion = models.DateField()
portada = models.ImageField(upload_to = 'portadas/')
def __unicode__(self):
return self.titulo
My View:
class LibroCreateView(CreateView):
model = Libro
template_name = 'biblioteca/crear.html'
fields = ['titulo', 'autores', 'editor', 'fecha_publicacion', 'portada']
My template:
{% block main %}
<form action="" enctype="multipart/form-data" method="POST">{% csrf_token %}
<table>
{{form.as_table}}
</table>
<input type="submit" name="crear" value="Crear">
</form> <br>
{% endblock main %}
My result
为什么我的字段 "Autores"(many2many) 和 "Editor"(foreign-key) 没有正确显示?。谢谢。
尝试为 CreateView
的视图赋予形式。使用您的模型制作 ModelForm
在那里你可以查询你的外键和多对多字段。
你可以随意展示它们
我在 Django 1.8 中做一个基本应用程序,我正在使用 Create-View,我不知道为什么创建表单没有 manyTOmany 字段,也没有以前在我的模型中定义的外键字段。这是我的代码:
My Model:
class Autor(models.Model):
nombre = models.CharField(max_length=30)
....
class Editor(models.Model):
nombre = models.CharField(max_length=30)
...
class Libro(models.Model):
titulo = models.CharField(max_length=100)
autores = models.ManyToManyField(Autor) #MANY2MANY FIELD
editor = models.ForeignKey(Editor) #FOREIGN KEY FIELD
fecha_publicacion = models.DateField()
portada = models.ImageField(upload_to = 'portadas/')
def __unicode__(self):
return self.titulo
My View:
class LibroCreateView(CreateView):
model = Libro
template_name = 'biblioteca/crear.html'
fields = ['titulo', 'autores', 'editor', 'fecha_publicacion', 'portada']
My template:
{% block main %}
<form action="" enctype="multipart/form-data" method="POST">{% csrf_token %}
<table>
{{form.as_table}}
</table>
<input type="submit" name="crear" value="Crear">
</form> <br>
{% endblock main %}
My result
为什么我的字段 "Autores"(many2many) 和 "Editor"(foreign-key) 没有正确显示?。谢谢。
尝试为 CreateView
的视图赋予形式。使用您的模型制作 ModelForm
在那里你可以查询你的外键和多对多字段。 你可以随意展示它们