标签: django-models

ORM正则表达式

如何在 Django ORM 中使用正则表达式?我找到了__searchand__contains字段的后缀,但__regexp不起作用。


解决方案是使用__regex而不是__regexp如果有人遇到同样的问题。

django django-models django-orm

-1
推荐指数
1
解决办法
9188
查看次数

为什么get_absolute_url()不起作用

我是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)

django django-models

-1
推荐指数
1
解决办法
971
查看次数

如何在模板级别更改Django admin中的is_staff选项

我必须将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 django-models django-admin django-views

-1
推荐指数
1
解决办法
1310
查看次数

Django的模型设计.南方是模特变化中任何一点自由的唯一途径吗?

嗨,我是django开发的新手,但无论如何我会尝试在这个问题上不要一般.

我在设计模型时遇到了一些奇怪的问题.我想做很多改变 - 比如项目开始时的alwyas.问题是在一个syncdb后我无法更改模型中的任何内容,除非我创建完全新的数据库并将其链接到settings.py中.有什么奇怪我甚至无法删除这个旧数据库.当我尝试从Sequel Pro做它时会冻结.

我用谷歌搜索了一下,并且真的是南方或类似的工具唯一的选择,在django的模型设计中有一些fredoom?

我知道这个机制是为了某些目的,比如保持现有项目的数据一致性,但我刚刚开始我的开发,在所有表中甚至有0条记录.

我用户在我的开发5.6.13 MySQL社区服务器,Django 1.5.全部在OS X上运行.

mysql django django-models

-1
推荐指数
1
解决办法
76
查看次数

将major.minor.build.patch格式的版本转换为整数

如何将包含此格式版本的字符串转换55.2.2883.95为整数?我正在修改开源Omaha服务器,它将输入版本号存储为PostgresSQL中的大型int类型.例如,如果输入版本字符串是,55.2.2883.95那么它在db中的相应值存储为60481918402655.

谢谢

python django django-models

-1
推荐指数
1
解决办法
231
查看次数

Django 中的中间模型有什么用?

为什么我们使用中间模型? 我们不能在没有中间模型的情况下使用多对多关系吗?

python django django-models

-1
推荐指数
1
解决办法
1148
查看次数

Django:apps.get_models() 从单元测试中生成模型

如果我在测试中调用这个 django 方法,它会产生很多未安装的模型。
这些模型来自其他应用程序的测试代码。

例如,当我使用apps.get_models()MROBase1从django包中获取多态测试代码时。

=>我想获取数据库中有表的所有模型。在上面的问题中,我得到了一个仅用于测试而存在的模型,该模型不在数据库中。

注意:我使用 Django 1.10

python django django-models django-1.10

-1
推荐指数
1
解决办法
1504
查看次数

类型错误:__init__() 缺少 1 个必需的位置参数:'on_delete'

我正在尝试运行我的代码,但收到此错误:

  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)

python django django-models

-1
推荐指数
1
解决办法
8060
查看次数

在Django.如何使用字段长度排序

如何使用字段长度排序
结果如下:

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)

python django orm django-models django-orm

-1
推荐指数
1
解决办法
94
查看次数

unique_together 不使用自引用外键?

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 django-models

-1
推荐指数
1
解决办法
174
查看次数