从Django模型创建JavaScript对象(类)
我正在开发一个单页面应用,这个应用会从大约十个不同的 Django 模型中加载数据,让用户可以对这些数据进行操作,然后把所有的更改保存回数据库。
我可以通过将查询结果序列化来“传递” Django 模型给模板。例如,我有一个模型叫做 Person:
class Person(models.Model):
id = models.AutoField(primary_key=True)
age = models.IntegerField()
name = models.CharField(max_length=250)
现在,在我的视图中,我可以通过序列化一个“person”对象,以 JSON 格式将它传递给模板。
person_object = serializers.serialize("json", Person.objects.filter(id=1))
然后,在我的 JavaScript 中:
var someperson = {{ data|safe }};
不过,我希望能够在客户端创建一个“新”的人,就像 Person 是一个 JavaScript 类,而不仅仅是一个 JSON 对象:
var person2 = new Person(id=5,age=33m,name="john");
有没有办法让我的 JavaScript “类”继承 Django 数据模型?还是说我需要手动在 Django 和 JavaScript 之间重新创建我的数据模型?
1 个回答
0
你可以把整个内容放在一个字符串里
person = 'new Person(id="%(id)s",age="%(age)s",name="%(name)s")' %
{'id':person_instance.id , ....}
然后把它作为上下文变量发送到模板中,这样看起来就像这样
var person2 = {{ person }} ;