可以使用逻辑关系运算符
例如:
SELECT FROM table_name
WHERE (条件1 and 条件2) 查询两个条件都符合的结果,
或者
SELECT FROM table_name
WHERE (条件1 or 条件2) 查询符合两个条件中满足任一条件的结果。
正经回答:先在数据库中建立好视图,然后django中建立对应的model。表所对应的类下面再建立一个Meta类,大致如下
class ViewModel(modelsModel):"""这个model类对应你所建立好的视图"""
class Meta(object):
"""同理,该方法可用于使用mysql中任何已有的表,不仅是视图"""
db_table = 'your_view' #显式指定表名,也就是你建立的视图的名字
managed = false #默认是ture,设成false django将不会执行建表和删表 *** 作
# 建立字段间的映射
# 需要注意的是,必须设一个字段为主键
# 不然django会自动创建一个id字段为主键,引发错误
百度知道越来越辣鸡了,全是答非所问的。
如果你使用 Django 的模型表单 (model form) 生成表单,可以使用 Django 查询数据库进行筛选,以便仅显示与特定用户相关的分类。
首先,在视图函数中,查询数据库并返回与特定用户相关的分类:
from djangoshortcuts import render
from models import Category
def my_view(request):
user_categories = Categoryobjectsfilter(user=requestuser)
return render(request, 'my_templatehtml', {'categories': user_categories})
然后,在模板中,您可以在生成表单时使用该分类集:
<form method="post">
{% csrf_token %}
{{ formas_p }}
<input type="submit" value="Submit">
</form>
最后,在表单类中,您可以重写初始化方法,以仅使用用户分类:
from django import forms
from models import Table2
class Table2Form(formsModelForm):
class Meta:
model = Table2
fields = ('category',)
def __init__(self, user, args, kwargs):
super()__init__(args, kwargs)
selffields['category']queryset = Categoryobjectsfilter(user=user)
最后,在视图函数中实例化表单,并将用户传递给表单类:
from djangoshortcuts import render
from forms import Table2Form
def my_view(request):
user_categories = Categoryobjectsfilter(user=requestuser)
form = Table2Form(requestuser, instance=table2_instance)
return render(request, 'my_templatehtml', {'form': form})
先让我们回忆一下在第五章里的关于书本(book)的数据模型:
1
from djangodb import models
class Publisher(modelsModel):
name = modelsCharField(max_length=30)
address = modelsCharField(max_length=50)
city = modelsCharField(max_length=60)
state_province = modelsCharField(max_length=30)
country = modelsCharField(max_length=50)
website = modelsURLField()
def __unicode__(self):
return selfname
class Author(modelsModel):
first_name = modelsCharField(max_length=30)
last_name = modelsCharField(max_length=40)
email = modelsEmailField()
def __unicode__(self):
return u'%s %s' % (selffirst_name, selflast_name)
class Book(modelsModel):
title = modelsCharField(max_length=100)
authors = modelsManyToManyField(Author)
publisher = modelsForeignKey(Publisher)
publication_date = modelsDateField()
def __unicode__(self):
return selftitle
如我们在第5章的讲解,获取数据库对象的特定字段的值只需直接使用属性。 例如,要确定ID为50的书本的标题,我们这样做:
>>> from mysitebooksmodels import Book
>>> b = Bookobjectsget(id=50)
>>> btitle
u'The Django Book'
但是,在之前有一件我们没提及到的是表现为ForeignKey 或 ManyToManyField的关联对象字段,它们的作用稍有不同。
访问外键(Foreign Key)值
当你获取一个ForeignKey 字段时,你会得到相关的数据模型对象。 例如:
>>> b = Bookobjectsget(id=50)
>>> bpublisher
<Publisher: Apress Publishing>
>>> bpublisherwebsite
u'>
以上就是关于django中怎么使用两个限定条件在mysql数据库中进行查询全部的内容,包括:django中怎么使用两个限定条件在mysql数据库中进行查询、Django里面怎么实现数据库视图啊 就是虚拟表、django利用modelform生成表单的问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)