国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

django之跨表查詢及添加記錄的示例代碼

2020-02-15 23:14:42
字體:
來源:轉載
供稿:網友

創建表

書籍模型: 書籍有書名和出版日期,一本書可能會有多個作者,一個作者也可以寫多本書,所以作者和書籍的關系就是多對多的關聯關系(many-to-many);

一本書只應該由一個出版商出版,所以出版商和書籍是一對多關聯關系(one-to-many)。

創建一對一的關系:OneToOne("要綁定關系的表名")

創建一對多的關系:ForeignKey("要綁定關系的表名")

創建多對多的關系:ManyToMany("要綁定關系的表名")  會自動創建第三張表

class Book(models.Model):  nid = models.AutoField(primary_key=True) # 自增id(可以不寫,默認會有自增id)  title = models.CharField(max_length=32)  publishDdata = models.DateField() # 出版日期  price = models.DecimalField(max_digits=5, decimal_places=2) # 一共5位,保留兩位小數  #一個出版社有多本書,關聯字段要寫在多的一方  # 不用命名為publish_id,因為django為我們自動就加上了_id  publish = models.ForeignKey("Publish") #foreignkey(表名)建立的一對多關系  # publish是實例對象關聯的出版社對象  authorlist = models.ManyToManyField("Author") #建立的多對多的關系  def __str__(self): #__str__方法使用來吧對象轉換成字符串的,你返回啥內容就打印啥    return self.titleclass Publish(models.Model):  #不寫id的時候數據庫會自動給你增加自增id  name =models.CharField(max_length=32)  addr = models.CharField(max_length=32)  def __str__(self):    return self.nameclass Author(models.Model):  name = models.CharField(max_length=32)  age = models.IntegerField()class AuthorDeital(models.Model):  tel = models.IntegerField()  addr = models.CharField(max_length=32)  author = models.OneToOneField("Author") #建立的一對一的關系

注意:臨時添加的字段,首先你得考慮之前的數據有沒有。設置一個默認值。

wordNum = models.IntegerField(default=0)  

通過logging可以查看翻譯成的sql語句

LOGGING = {  'version': 1,  'disable_existing_loggers': False,  'handlers': {    'console':{      'level':'DEBUG',      'class':'logging.StreamHandler',    },  },  'loggers': {    'django.db.backends': {      'handlers': ['console'],      'propagate': True,      'level':'DEBUG',    },  }}  

注意事項:

1、 表的名稱myapp_modelName,是根據 模型中的元數據自動生成的,也可以覆寫為別的名稱  

2、id 字段是自動添加的

3、對于外鍵字段,Django 會在字段名上添加"_id" 來創建數據庫中的列名

4、這個例子中的CREATE TABLE SQL 語句使用PostgreSQL 語法格式,要注意的是Django 會根據settings 中指定的數據庫類型來使用相應的SQL 語句。

5、定義好模型之后,你需要告訴Django _使用_這些模型。你要做的就是修改配置文件中的INSTALL_APPSZ中設置,在其中添加models.py所在應用的名稱。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 城市| 麻栗坡县| 太谷县| 九龙坡区| 简阳市| 新津县| 沙坪坝区| 微博| 叙永县| 墨竹工卡县| 丰宁| 镇远县| 平南县| 喀喇沁旗| 浦北县| 北碚区| 越西县| 聂拉木县| 仁布县| 大渡口区| 瓦房店市| 图木舒克市| 西青区| 巫溪县| 井陉县| 新和县| 安溪县| 澄迈县| 高台县| 和龙市| 连城县| 江陵县| 西充县| 科技| 灵丘县| 平顺县| 友谊县| 龙陵县| 马边| 唐山市| 和政县|