国产探花免费观看_亚洲丰满少妇自慰呻吟_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所在應用的名稱。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 兴文县| 石棉县| 铅山县| 大冶市| 肇庆市| 崇仁县| 乌什县| 阳西县| 无极县| 望都县| 綦江县| 昭苏县| 偏关县| 榆社县| 盱眙县| 绥化市| 同心县| 元阳县| 荆门市| 淮北市| 赤水市| 高淳县| 长宁县| 沂源县| 府谷县| 铜陵市| 西乡县| 正宁县| 汉阴县| 华阴市| 博客| 景宁| 鹤山市| 德州市| 夏邑县| 海城市| 饶平县| 乐亭县| 隆化县| 绥滨县| 综艺|