我在django admin中遇到了对象问题。我有一个模特:
class Group(models.Model):
name = models.CharField(max_length=30)
description = models.TextField()
pay = models.CharField(
max_length=10,
choices=(('PAID', 'PŁATNY'), ('FREE', 'DARMOWY')),
default='FREE')
time = models.CharField(
max_length=3,
choices=(('T', 'TAK'), ('N', 'NIE')),
default='N',
help_text='Czy wpis ma być wyłączony po jakimś czasie czy bezterminowy')
days = models.IntegerField(default=1)
premium_box = models.CharField(
max_length = 3,
choices=(('T', 'TAK'), ('N', 'NIE')),
default='N',
help_text='Czy wpis ma być wyświetlany w okienku reklamowym')
category = models.CharField(
max_length = 2,
choices=(('1','1'), ('2','2')),
)
def __str__(self):
return self.name
现在我有2个组对象:免费和高级。如何在我的javascript文件中使用这些对象的值?我需要这样的东西:
if (GROUP.OBJECT.CATEGORY < 2) {
$("div > fieldset > div.form-row.field-category1").hide();
$("div > fieldset > div.form-row.field-subcategory1").hide();
$("#group").html('<ul><li>- Additional text</li>');
}
if (GROUP.OBJECT.TIME == 'N') {
$(SOME.FIELD).hide()
}
Django有可能吗?
我将此添加到我的admin.py:
def changelist_view(self, request, extra_context=None):
extra_context = extra_context or {}
extra_context['groupaa'] = (Group.objects.values('category'))
return super(SiteAdmin, self).changelist_view(request, extra_context=extra_context)
当我在我的js文件中使用console.log(GROUP_OBJECT_CATEGORY)时,我得到了queryset:
<QuerySet [{'category': '1'}, {'category': '2'}]>
但是我无法从这个查询集中获取类别值...我想在我的js文件中遍历这个查询集。类似的东西:
for (var i=0; i<=QUERYSET.length; i++) {
console.log(QUERYSET[i]); # get 1 and 2 values
}
答案 0 :(得分:1)
以下是一些选项:
<script>
var GROUP_OBJECT_CATEGORY = "{{GROUP.OBJECT.CATEGORY}}";
</script>
并在JS代码中使用GROUP_OBJECT_CATEGORY
全局变量。
group
值:
$.getJSON( "/api/get_object", function( object ) {
if(object.group && object.group < 2 ){
....
}
});