为什么在django 多数据库项目中设计model 数据库同步时出错

页面导航:
→ 正文内容 python Django连接MySQL
python Django连接MySQL数据库做增删改查
本文写的是python Django连接MySQL数据库的步骤,提供增删改查的代码
1、下载安装MySQLdb类库/r/python-mysql/2、修改settings.py 配置数据属性 代码如下:DATABASES = {&&& 'default': {&&&&&&& 'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.&&&&&&& 'NAME': 'djangodb',&&&&&&&&&&&&&&&&&&&&& # Or path to database file if using sqlite3.&&&&&&& # The following settings are not used with sqlite3:&&&&&&& 'USER': 'root',&&&&&&& 'PASSWORD': 'root',&&&&&&& 'HOST': '127.0.0.1',&&&&&&&&&&&&&&&&&&&&& # Empty for localhost through domain sockets or '127.0.0.1' for localhost through TCP.&&&&&&& 'PORT': '3306',&&&&&&&&&&&&&&&&&&&&& # Set to empty string for default.&&& }}修改完后进入DOS进入项目目录下执行python manage.py shell命令启动交互界面输入一下代码验证数据库配置是否成功。没报错则成功! 代码如下:&&& from django.db import connection&&& cursor = connection.cursor()&3、创建一个Django app一个项目中包含一个或多个这样的app。app可以理解为一块功能集合。比如产品管理模块就包含增删该查等功能,可以把产品管理叫做一个app。每个Django app都有独立的models,views等,易移植和被复用。DOS进入项目目录 执行 python manage.py startapp products生成目录文件如下: 代码如下:products/&&& __init__.py&&& models.py&&& tests.py&&& views.py&4、编写models 代码如下:from django.db import models# Create your models here.class Company(models.Model):&&& full_name = models.CharField(max_length=30)&&& address = models.CharField(max_length=50)&&& tel = models.CharField(max_length=15,blank=True)class Product(models.Model):&&& product_name = models.CharField(max_length=30)&&& price = models.FloatField()&&& stock = models.IntegerField(max_length=5)&&& company = models.ForeignKey(Company)&5、模型安装(修改settings.py) 代码如下:INSTALLED_APPS = (&&& 'django.contrib.auth',&&& 'django.contrib.contenttypes',&&& 'django.contrib.sessions',&&& 'django.contrib.sites',&&& 'django.contrib.messages',&&& 'django.contrib.staticfiles',&&& # Uncomment the next line to enable the admin:&&&& 'django.contrib.admin',&&& # Uncomment the next line to enable admin documentation:&&&& 'django.contrib.admindocs',&&& 'DjangoMysqlSite.products',)采用 python manage.py validate 检查模型的语法和逻辑是否正确。没有错误则执行 python manage.py syncdb创建数据表。现在你可以看到你的数据库除了生成了products_company,products_product外还创建了其它好几个表,这些是django管理后台所需表暂不管。6、简单的增删改查&进入python manage.py shell 代码如下:from DjangoMysqlSite.products.models import Company&&& c = Company(full_name='集团',address='杭州西湖',tel=8889989)&&& c.save()&&& company_list = Company.objects.all()&&& company_list&&& c = Company.objects.get(full_name="集团")&&& c.tel = 123456&&& c.save()&
&&& c = Company.objects.get(full_name="集团")&&& c.delete()#删除所有&&& Company.objects.all().delete()
您可能感兴趣的文章:
上一篇:下一篇:
最 近 更 新
热 点 排 行
12345678910Loading .....
Copyright 2006 Adrian Holovaty and Jacob Kaplan-Moss.This
work is licensed under the .
Hosting graciously provided by
Chinese translate hosting by .赶快加入吧
收藏,539 浏览
问题对人有帮助,内容完整,我也想知道答案
问题没有实际价值,缺少关键内容,没有改进余地
Django可以获取一个model里字段定义的属性:
User._meta.get_field_by_name('username')
返回的是tuple,所以没法修改
数据库中有一数据表table_a,且该表没有主键也无唯一键,有一列row1数据都是不同的(没有唯一键),对应的django中的model为:
class TableA(models.Model):
row1 = models.CharField(primary_key=True, max_length=36)
row2 = models.CharField(max_length=36)
row3 = models.CharField(max_length=36)
class Meta:
db_table = u'table_a'
django中对应的model设置row1为主键,一切正常
如果row1有重复数据,model在过滤的时候去重,使用model一切正常
objs = TableA.objects.filter(Q('取出row1中的重复项'))
如果要操作那些重复项(只有row1中的数据是重复的),但这些重复项中row2和row3的数据都是不同的
如果能动态设置model字段属性就都解决了
当然直接用sql也可以
同步到新浪微博
不要错过该问题的后续解决方案
如果你没找到答案,记得登录关注哦,大家会尽全力帮你解决的 ^___^
最专业的开发者社区
最前沿的技术问答,最纯粹的技术切磋。让你不知不觉中开拓眼界,提高技能,认识更多朋友。
分享到微博?
关闭理由:
删除理由:
忽略理由:
与已有问题重复
答非所问,不符合答题要求
宜作评论而非答案
带有人身攻击、辱骂、仇恨等违反条款的内容
内容质量差,或不适合在本网站出现
无意义讨论型问题
其他原因(请补充说明)
举报理由:
带有人身攻击、辱骂、仇恨等违反条款的内容
与已有问题重复
内容质量差,或不适合在本网站出现
答非所问,不符合答题要求
其他原因(请补充说明)
补充说明:基于Django快速开发网络留言板应用_一_数据模型的建立和主页的实现_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
6页¥2.005页免费4页免费3页¥2.005页¥2.007页¥2.005页免费4页7下载券3页免费3页2下载券
喜欢此文档的还喜欢5页免费3页2下载券5页免费4页免费27页1下载券
基于Django快速开发网络留言板应用_一_数据模型的建立和主页的实现|
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
你可能喜欢

我要回帖

更多关于 django同步数据库 的文章

 

随机推荐