第二十天学习记录

来源:互联网 发布:大数据招聘 编辑:程序博客网 时间:2024/05/17 22:56

AJAX

$.ajax({    url: '/host',    type: "POST",    data: {'k1': 123,'k2': "root"},    success: function(data){        // data是服务器端返回的字符串        var obj = JSON.parse(data);    }})建议:永远让服务器端返回一个字典return HttpResponse(json.dumps(字典))

django中数据库orm中多对多

方式一:自定义关系表

class Host(models.Model):    nid = models.AutoField(primary_key=True)    hostname = models.CharField(max_length=32,db_index=True)    ip = models.GenericIPAddressField(protocol="ipv4",db_index=True)    port = models.IntegerField()    b = models.ForeignKey(to="Business", to_field='id')# 10class Application(models.Model):    name = models.CharField(max_length=32)# 2class HostToApp(models.Model):    hobj = models.ForeignKey(to='Host',to_field='nid')    aobj = models.ForeignKey(to='Application',to_field='id')# HostToApp.objects.create(hobj_id=1,aobj_id=2)

方式二:自动创建关系表

class Host(models.Model):    nid = models.AutoField(primary_key=True)    hostname = models.CharField(max_length=32,db_index=True)    ip = models.GenericIPAddressField(protocol="ipv4",db_index=True)    port = models.IntegerField()    b = models.ForeignKey(to="Business", to_field='id')# 10class Application(models.Model):    name = models.CharField(max_length=32)    r = models.ManyToManyField("Host")无法直接对第三张表进行操作obj = Application.objects.get(id=1)obj.name# 第三张表操作obj.r.add(1)obj.r.add(2)obj.r.add(2,3,4)obj.r.add(*[1,2,3,4])obj.r.remove(1)obj.r.remove(2,4)obj.r.remove(*[1,2,3])obj.r.clear()obj.r.set([3,5,7])# 所有相关的主机对象“列表” QuerySetobj.r.all()
0 0
原创粉丝点击