从 django 模型创建 javascript 对象(类)

cor*_*ory 5 javascript python django json class

我正在开发一个单页应用程序,它将从大约十几个不同的 django 模型加载数据,允许用户操作数据,然后将所有更改保存回数据库。

我可以通过序列化查询集的结果来将 django 模型“传递”到模板。例如,我有一个模型 Person:

class Person(models.Model):
    id = models.AutoField(primary_key=True)
    age = models.IntegerField()
    name = models.CharField(max_length=250)
Run Code Online (Sandbox Code Playgroud)

现在,在我看来,我可以通过序列化将“person”对象以 json 格式传递给模板

person_object = serializers.serialize("json", Person.objects.filter(id=1))
Run Code Online (Sandbox Code Playgroud)

然后,在我的 JavaScript 中:

var someperson = {{ data|safe }};
Run Code Online (Sandbox Code Playgroud)

但是,我希望能够在客户端创建一个“新”人,就好像该人是一个 javascript 类而不仅仅是一个 json 对象:

var person2 = new Person(id=5,age=33m,name="john");
Run Code Online (Sandbox Code Playgroud)

有没有办法让我的 javascript“类”继承 Django 数据模型?或者我是否需要在 django 和 javascript 之间手动重新创建数据模型?

Ram*_*raf 0

您可以将其作为一个整体放入一个字符串中

person = 'new Person(id="%(id)s",age="%(age)s",name="%(name)s")' %
 {'id':person_instance.id , ....}
Run Code Online (Sandbox Code Playgroud)

然后将其作为上下文变量发送到模板,所以它看起来像这样

var person2 = {{ person }} ;
Run Code Online (Sandbox Code Playgroud)