我试图找出如何从ManyToMany
usieng UserProfile
中删除Django-tables
个属性之一。
简单说明:
我的UserProfile
扩展了User
。 UserProfile
具有ManyToManyField
属性Language
,因此可能有5种语言。我创建了一个显示这些语言的表格。
我无法弄清楚如何让用户删除其中一种语言并刷新页面。
您可以将html
添加到列中,然后通过{{ record }}
引用行中的对象。我不知道该写些什么。我在考虑<a href="delete_language/{{record.id}}">Delete</a>
,但我必须将其重定向到桌面,所以我无法在任何地方使用此视图。
你们知道该怎么办吗?
表格:
class MyLanguagesTable(tables.Table):
verified = tables.TemplateColumn(
'{% ifequal record.level.name "unknown" %} <a href="/tests/{{record.language.shortcut}}">Take a Test</a>'
'{% else %} Verified'
'{% endifequal %}')
delete = tables.TemplateColumn('<form action="" method="post">{% csrf_token %}'
'<button type="submit" name="action" value="delete">Delete</button>'
'</form>') # What to write here?
level = tables.TemplateColumn('{{ record.level.get_name_display }}', verbose_name='Level')
language = tables.TemplateColumn('{{record.language.name}}', verbose_name='Language')
class Meta:
model = LanguageLevel
attrs = {'class': 'table table-striped table-bordered table-hover', 'width': '70%'}
fields = ('language', 'level', 'verified')