# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import models class UserType(models.Model):
caption = models.CharField(max_length=32) class User(models.Model):
name = models.CharField(max_length=32)
age = models.IntegerField()
user_type = models.ForeignKey('UserType', to_field='id') class Host(models.Model):
envid = models.CharField(max_length=32, db_index=True)
ip = models.GenericIPAddressField(protocol='both', max_length=32, db_index=True)
port = models.CharField(max_length=32)
username = models.CharField(max_length=32)
password = models.CharField(max_length=32)
item = models.ForeignKey(to='TestItem', to_field='id') class TestItem(models.Model):
item = models.CharField(max_length=32)
versionNum = models.CharField(max_length=32) class Application(models.Model):
name = models.CharField(max_length=32)
r = models.ManyToManyField('Host') # 方式一:自定义关系表 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') # 10
class Application(models.Model):
name = models.CharField(max_length=32) # 2 class 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') # 10
class 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]) # 所有相关的主机对象“列表” QuerySet
obj.r.all()

  

最新文章

  1. Redis系列(六)-SortedSets设计技巧
  2. Source Insight编辑器配置
  3. Android UI设计中一些不错的示例及第三方控件
  4. Linux安装配置sun-java
  5. 黑马程序员_Java基础:十进制转换其他进制
  6. Linux kernel develop -- Hello World
  7. 【M2】最好使用C++转型操作符
  8. [KISSY5系列]KISSY5安装使用(二)
  9. 流行框架(angularj基础)
  10. Django:安装和启动
  11. 【学习总结】GirlsInAI ML-diary day-3-数据类型
  12. Spring框架IOC和AOP的实现原理
  13. openssl编译参数选项
  14. Jsch - java SFTP 文件上传下载
  15. 利用Gson将JSON数据进行格式化(pretty print)
  16. Convert CString to ANSI string in UNICODE projects
  17. Kafka Tools
  18. PSP Daily软件Alpha版本——基于NABCD评论,及改进建议
  19. 斜率优化dp学习
  20. vue 整体引入 mint-ui 样式失败

热门文章

  1. Linux下NFS服务器的搭建与配置(转)
  2. pandas数据读取(DataFrame & Series)
  3. 修改Win7登陆界面墙纸
  4. Spring---异步消息
  5. php next()函数 语法
  6. 历时小半年总结之JAVA
  7. 深圳市利汇电子商务科技有限公司2019年java面试笔试题
  8. DELPHI 把数据库中的数据转换成XML格式
  9. [APIO2013]道路费用
  10. DOM疑惑点整理(三)