码迷,mamicode.com
首页 > 其他好文 > 详细

Django模型models

时间:2016-04-18 15:26:25      阅读:140      评论:0      收藏:0      [点我收藏+]

标签:

from django.db import models
 
class TableName(models.Model):     
    name = models.CharField(max_length=30)
    age = models.IntegerField()
    date = models.DateField()

    def __unicode__(self):    #__str__ python3.x
        return self.name

    class Meta:
#不加Meta类的话,表名为“AppName_TableName”,按下列加的话表明为TableName
        db_table = "TableName"     

#一个 DateField 或 DateTimeField 字段的名字. 若提供该选项, 该模块将拥有一个 #get_latest() 函数以得到 "最新的" 对象(依据那个字段): 
        get_latest_by  = "date"

使用mysql。在setting.py中修改相应设置

技术分享

进入mysql新建数据库mysite(对应NAME)

然后在project目录中

>>>python manage.py makemigrations

>>>python manage.py migrate

同步数据库,自动创建表TableName

对数据库进行修改后也要如上同步数据库

 

数据库的修改:
(1)在终端进行操作

    >>>python manege.py shell      

    >>>from App_Name.models import TableName

    >>>TableName.objects.create(name=‘name‘,age=age,date=‘YYYY-MM-DD‘)

(2)在文件中加入TableName.objects.create(name=‘name‘,age=age,date=‘YYYY-MM-DD‘)进行添加。

(3)直接执行mysql语句

 

django.db.connection:代表默认的数据库连接 
django.db.transaction:代表默认数据库事务(transaction) 
用database connection调用 connection.cursor() 得到一个游标(cursor)对象。 
然后调用 cursor.execute(sql, [params]) 执行SQL 
cursor.fetchone() 或者 cursor.fetchall(): 返回结果行

如果执行修改操作,则调用 transaction.commit_unless_managed()来保证你的更改提交到数据库。

def my_custom_sql():
    from django.db import connection, transaction
    cursor = connection.cursor()

    # 数据修改操作——提交要求
    cursor.execute("UPDATE bar SET foo = 1 WHERE baz = %s", [self.baz])
    transaction.commit_unless_managed()

    # 数据检索操作,不需要提交
    cursor.execute("SELECT foo FROM bar WHERE baz = %s", [self.baz])
    row = cursor.fetchone()

    return row

  

Django模型models

标签:

原文地址:http://www.cnblogs.com/LuoDa/p/5404259.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!