我有以下模型:
class Owner(models.Model)
country = models.CharField(max_length=255, choices=COUNTRIES, default=COUNTRIES_DEFAULT)
COUNTRIES is compose of tuples:
COUNTRIES = (
('afg', 'Afghanistan'),
('ala', 'Aland Islands'),
('alb', 'Albania'),
('dza', 'Algeria'),
('asm', 'American Samoa'),
....... )
对于FrontEnd,我需要显示一个Widget,并且对于每个国家/地区都有一个复选框。 一个人/用户可以选择多个国家/地区。
我想我需要使用一个自定义的小部件,但是我不知道从何处开始继承Field /小部件并在数据库中进行查询。
--- 为什么不是Django Multiple Field任务的重复项 n ----
我不需要新的Model字段,也不需要将其存储在数据库中,并且它之间没有多对多的关系,因此像包django-multiselectfield
之类的东西就没有用了。
ModelField仅存储一个值,但是在表单中将显示来自元组的值。我添加只是为了查看对应关系。
相反,我只需要成为一个表单字段即可获取值并查询数据库。就像获取居住在美国和英国的所有所有者一样。
看起来也不像Select2,我需要尊重设计。正如图像中的功能一样:
答案 0 :(得分:1)
在表单中,您必须使用<tbody>
<tr *ngFor="let test of labsRateInterface.testgroups; let i=index">
<td>{{i+1}}</td>
<td>{{test._id}}</td>
<td>{{test.name}}</td>
</tr>
</tbody>
小部件定义MultipleChoiceField
:
CheckboxSelectMultiple
这将为您提供多选复选框的列表。如果您不想显示较长的列表,可以设置自己的样式,使其带有滚动条。
以下是Django文档中的一个示例:https://docs.djangoproject.com/en/2.1/ref/forms/widgets/#setting-arguments-for-widgets