如何在 Django ORM 中使用正则表达式?我找到了__searchand__contains字段的后缀,但__regexp不起作用。
解决方案是使用__regex而不是__regexp如果有人遇到同样的问题。
我是django的新手,我遇到了get_absolute_url()的问题:我的模型:
class Band(models.Model):
B_Name = models.CharField(max_length=30, primary_key=True)
Country = models.CharField(max_length=30)
genre = models.ForeignKey(Genre)
imageband = models.ImageField(upload_to='images/band')
def __unicode__(self):
return self.B_Name
@models.permalink
def get_absolute_url(self):
return '/genre/%s/%s/' % (self.B_Name, self.genre)
Run Code Online (Sandbox Code Playgroud)
我的网址:
url(r'^genre/(\d+)/$', 'genre', name="genre"),
url(r'^genre/(?P<B_Name>)/(?P<genre>\[-\w]+)/$', 'thu'),
Run Code Online (Sandbox Code Playgroud)
我的观点:
def genre(request, url):
template = 'genre/genre.html'
if url=='1':
tmp = Band.objects.raw('SELECT B_Name, Country FROM data_band WHERE genre_id=%s', ...)
if ....
......
return render_to_response(template,{'tmp':tmp})
def thu(request):
template = 'genre/thu.html'
tmp = Band.objects.raw('SELECT B_Name, genre FROM data_band')
return render_to_response(template,{'tmp':tmp})
Run Code Online (Sandbox Code Playgroud)
我的模板genre.html:
{% for x in tmp %}
<tr> …Run Code Online (Sandbox Code Playgroud) 我必须将views.py文件中的"is_staff"选项更改为禁用Django-admin页面,但我无法弄清楚以下问题.每当我试图写"user.is_staff"时,它听起来没有任何选择它(is_staff),而is_active存在.是这个导入的问题?
以下是我导入的内容:
from django.contrib.auth.decorators import login_required
from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
from django.contrib.auth.models import User
from django.http import HttpResponseForbidden, HttpResponse
from django.shortcuts import get_object_or_404
from django.views.generic.list_detail import object_detail
from django.views.generic.simple import direct_to_template
from django.utils.translation import ugettext as _
from django.core.mail import send_mail
from django.core.urlresolvers import reverse
from django.http import HttpResponseRedirect
from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
from django.contrib import admin
from django.contrib.auth.admin import UserAdmin
Run Code Online (Sandbox Code Playgroud)
以下代码我在views.py中写道:
def user_change_status(request, id):
user = User.objects.get(pk=id)
if user.is_staff:
user.is_staff = False
else:
user.is_active = …Run Code Online (Sandbox Code Playgroud) 嗨,我是django开发的新手,但无论如何我会尝试在这个问题上不要一般.
我在设计模型时遇到了一些奇怪的问题.我想做很多改变 - 比如项目开始时的alwyas.问题是在一个syncdb后我无法更改模型中的任何内容,除非我创建完全新的数据库并将其链接到settings.py中.有什么奇怪我甚至无法删除这个旧数据库.当我尝试从Sequel Pro做它时会冻结.
我用谷歌搜索了一下,并且真的是南方或类似的工具唯一的选择,在django的模型设计中有一些fredoom?
我知道这个机制是为了某些目的,比如保持现有项目的数据一致性,但我刚刚开始我的开发,在所有表中甚至有0条记录.
我用户在我的开发5.6.13 MySQL社区服务器,Django 1.5.全部在OS X上运行.
如何将包含此格式版本的字符串转换55.2.2883.95为整数?我正在修改开源Omaha服务器,它将输入版本号存储为PostgresSQL中的大型int类型.例如,如果输入版本字符串是,55.2.2883.95那么它在db中的相应值存储为60481918402655.
谢谢
如果我在测试中调用这个 django 方法,它会产生很多未安装的模型。
这些模型来自其他应用程序的测试代码。
例如,当我使用apps.get_models()我MROBase1从django包中获取多态测试代码时。
=>我想获取数据库中有表的所有模型。在上面的问题中,我得到了一个仅用于测试而存在的模型,该模型不在数据库中。
注意:我使用 Django 1.10
我正在尝试运行我的代码,但收到此错误:
File "C:\Users\JOSHUA\Documents\ypgforum\myproject\boards\models.py", line 13, in <module>
class Topic(models.Model):
File "C:\Users\JOSHUA\Documents\ypgforum\myproject\boards\models.py", line 16, in Topic
board = models.ForeignKey(Board, related_name='topics')
TypeError: __init__() missing 1 required positional argument: 'on_delete'
Run Code Online (Sandbox Code Playgroud)
这是它指向的 models.py:
class Topic(models.Model):
subject = models.CharField(max_length=255)
last_updated = models.DateTimeField(auto_now_add=True)
board = models.ForeignKey(Board, related_name='topics')
starter = models.ForeignKey(User, related_name='topics')
last_updated = models.DateTimeField(auto_now_add=True)
Run Code Online (Sandbox Code Playgroud) 如何使用字段长度排序
结果如下:
Model.objects.all().order_by(len("field"))
Run Code Online (Sandbox Code Playgroud)
SQL:
select * from table order by len(field)
Run Code Online (Sandbox Code Playgroud) class Category(models.Model):
name = models.CharField(max_length=200)
parent = models.ForeignKey("self",
blank=True,
null=True,
related_name='children',
on_delete=models.CASCADE)
class Meta:
unique_together = [
('parent', 'name'),
]
Run Code Online (Sandbox Code Playgroud)
在这个模型中,我可以使用以下命令创建多个对象
Category.objects.create(name="cat1", parent=None) #
Category.objects.create(name="cat1", parent=None)
# unique_together constraint should not
# allow this second object's reaction, but it is;
# behavior is the same even when the parent is not None.
Run Code Online (Sandbox Code Playgroud)
我使用的 Django 版本是3.0.8
Postgres 12.3 psycopg2-binary 2.8.5
更新:
Category.objects.create(name="cat1", parent=obj) #
Category.objects.create(name="cat1", parent=obj)
Run Code Online (Sandbox Code Playgroud)
即使父对象不是“无”,也会创建第二个对象或记录。
In [2]: Category2.objects.create(name="cat1")
Out[2]: <Category2: cat1>
In [3]: Category2.objects.create(name="cat1")
Out[3]: <Category2: cat1>
In …Run Code Online (Sandbox Code Playgroud) django ×10
django-models ×10
python ×5
django-orm ×2
django-1.10 ×1
django-admin ×1
django-views ×1
mysql ×1
orm ×1