我正在尝试创建一个“管理”页面,用户可以在其中创建“匹配”,为其命名,并显示我创建的匹配列表到其他页面。我还希望有一个“删除”按钮来删除匹配。
我有这个型号:
class Match(models.Model):
teams = models.ManyToManyField(Teams)
identite = models.CharField(max_length=60)
teamA = models.CharField(max_length=20)
teamB = models.CharField(max_length=20)
info = models.CharField(max_length=500)
sport = models.CharField(max_length=20)
date_start = models.DateTimeField()
date_end = models.DateTimeField()
def __unicode__(self):
return self.identite
我在模型中创建了这个函数:
def create_match(self,name):
return self.create('name')
然后,我尝试在管理页面的html中创建一个表单:
<form method="post" action=".">
{% csrf_token %}
<p><label for="Team A">Team A:</label> <input id="Team A" type="text" class="required" name="Team A" maxlength="30"></p>
<p><label for="Team B">Team B:</label> <input id="Team B" type="text" class="required" name="Team B" maxlength="30"></p>
(...)
<input type="submit" value="" />
</form>
所以我的问题是:
如何调用我的函数“create_match”,以便当我单击“提交”按钮时,它会在我的数据库中创建一个与我填写的数据匹配的匹配项? 如何将此匹配添加到列表中,以便我可以将此列表显示到其他页面? 最后,如何从该列表中删除匹配而不将其从DB中删除?
非常感谢你的帮助!
答案 0 :(得分:0)
Django提供了基于模型生成表单的内置功能,这些模型称为Model Forms
另外,通常“创建”新模型只是实例化您的模型类并分配正确的值并保存它。
此外,django还提供了一个内置的管理页面,允许您注册模型并允许用户在数据库中创建/删除/修改记录。将模型添加到django管理员并获得此功能是微不足道的。