{% for image in article.image_set.all %}
<img src='{{ image.url }}'>
{% endfor %}
def save(self, commit=True):
instance = super(ArticleForm, self).save(commit)
return instance
def save_images(self):
for each in self.cleaned_data['image']:
Image.objects.create(image=each, article=self.instance)
// вместо
data: form.serialize(),
// надо
data: dataForm,
// ну и тут исправить
if (dataForm.form_is_valid) {
// на
if (data.form_is_valid) {
html.text(name).append(make_ul(elem));
// заменить на
var span = $('<span>').text(name)
html.append(span).append(make_ul(elem));
// или
html.append('<span>' + name + '</span>').append(make_ul(elem));
# в форме, в методе data_tree немного поменять последние строки
def data_tree(self):
tree = {}
for f in self.fields['function'].queryset:
tree.setdefault(
f.task.group.name, {}
).setdefault(
f.task.name, []
).append(f.id)
classes = ['group', 'task', 'function'] # тут
date_tree_template = "<div class='data-tree' data-tree='{}' data-classes='{}' data-field='{}'></div>" # тут
return mark_safe(date_tree_template.format(json.dumps(tree), json.dumps(classes), 'function')) # тут
$(function() {
var tree = $('.data-tree').data('tree')
var field = $('.data-tree').data('field')
var classes = $('.data-tree').data('classes') // тут
render_tree()
function render_tree() {
if(tree != undefined && field != undefined)
$(".tree").replaceWith(make_ul(tree))
}
function make_ul(lst, class_pos) { // тут
if(class_pos == undefined) // тут
class_pos = 0; // тут
else // тут
class_pos++; // тут
var html = $('<ul class="' + classes[class_pos] + '">'); // тут
for(var name in lst)
html.append(make_li(name, lst[name], class_pos)) // тут
return html;
}
function make_li(name, elem, class_pos) { // тут
var html = $('<li>');
if (typeof(elem) == 'object') {
html.text(name).append(make_ul(elem, class_pos)); // тут
}
if (typeof(elem) == 'number'){
html.append($('[name='+field+'][value='+elem+']').parent())
}
return html;
}
});
А фильтрация только по одному полю возможна или по нескольким?