def render(self, name, value, attrs=None, renderer=None):
nr = [(None, "Patron non répertorié")]
if value:
pattern = Pattern.objects.get(id=value)
creator_id = pattern.creator_id
self.choices = [(value, pattern.name)]
else:
creator_id = 0
self.choices = nr
creator_qs = PatternCreator.objects\
.annotate(pattern_count=Count('patterns'))\
.filter(pattern_count__gt=0)
preselect = Select(choices=nr + list(creator_qs.values_list('id', 'name')))
prefix_id = 'id_pattern_creator'
prefix = preselect.render(name='', value=creator_id, attrs={'id': prefix_id})
attrs = attrs or {}
attrs['data-prefix-id'] = prefix_id
result = super().render(name, value, attrs=attrs, renderer=renderer)
return '\n'.join([prefix, result])
# It's not really a real Widget, but eh...
评论列表
文章目录