标签: django-models

在django中区分null = True,blank = True

当我们在django中添加数据库字段时,我们通常会写models.CharField(max_length=100, null=True, blank=True).同样是用ForeignKey,DecimalField等等.有什么基本的区别

  1. null=True 只要
  2. blank=True 只要
  3. null=True, blank=True

在相对于不同的(CharField,ForeignKey,ManyToManyField,DateTimeField)字段.使用1/2/3有哪些优点/缺点?

python django django-models

819
推荐指数
14
解决办法
22万
查看次数

如何在Django查询集过滤中做不相等的操作?

在Django模型QuerySets中,我看到有一个__gt__ltfor的比较值,但是有__ne/ !=/ <>(不等于?)

我想用不等于过滤掉:

例:

Model:
    bool a;
    int x;
Run Code Online (Sandbox Code Playgroud)

我想要

results = Model.objects.exclude(a=true, x!=5)
Run Code Online (Sandbox Code Playgroud)

!=不正确的语法.我试过__ne,<>.

我最终使用:

results = Model.objects.exclude(a=true, x__lt=5).exclude(a=true, x__gt=5)
Run Code Online (Sandbox Code Playgroud)

python django django-models django-queryset

608
推荐指数
15
解决办法
34万
查看次数

如何临时禁用MySQL中的外键约束?

是否可以暂时禁用MySQL中的约束?

我有两个Django模型,每个模型都有一个ForeignKey到另一个.由于ForeignKey约束,删除模型的实例会返回错误:

cursor.execute("DELETE FROM myapp_item WHERE n = %s", n)
transaction.commit_unless_managed()  #a foreign key constraint fails here

cursor.execute("DELETE FROM myapp_style WHERE n = %s", n)
transaction.commit_unless_managed()
Run Code Online (Sandbox Code Playgroud)

是否可以暂时禁用约束并删除?

mysql sql django django-models

605
推荐指数
8
解决办法
63万
查看次数

Django中的"slu"是什么?

当我阅读Django代码时,我经常在模型中看到所谓的"slug".我不太确定这是什么,但我知道它与URL有关.怎么以及什么时候应该使用这个slug-thing?

(我在本词汇表中已经阅读了它的定义.)

python django django-models slug

543
推荐指数
9
解决办法
15万
查看次数

过滤查询集中的空名称或NULL名称

我有first_name,last_name和别名(可选)我需要搜索.所以,我需要一个查询来给我所有具有别名集的名称.

只有我能做到:

Name.objects.filter(alias!="")
Run Code Online (Sandbox Code Playgroud)

那么,与上述相同的是什么?

django null filter django-models django-queryset

444
推荐指数
6
解决办法
33万
查看次数

使用Django中的自定义字段扩展用户模型

使用自定义字段扩展User模型(与Django的身份验证应用程序捆绑在一起)的最佳方法是什么?我也可能希望使用该电子邮件作为用户名(用于身份验证).

我已经看到了一些 方法,但无法决定哪一个是最好的.

django django-models django-authentication django-users

415
推荐指数
10
解决办法
20万
查看次数

353
推荐指数
7
解决办法
10万
查看次数

如何将两个字段"唯一"定义为情侣

有没有办法在Django中定义几个字段是唯一的?

我有一个卷(期刊)表,我不想要同一期刊的一个卷号.

class Volume(models.Model):
    id = models.AutoField(primary_key=True)
    journal_id = models.ForeignKey(Journals, db_column='jid', null=True, verbose_name = "Journal")
    volume_number = models.CharField('Volume Number', max_length=100)
    comments = models.TextField('Comments', max_length=4000, blank=True)
Run Code Online (Sandbox Code Playgroud)

我试图unique = True在字段中添加属性journal_id,volume_number但它不起作用.

python django django-models

345
推荐指数
4
解决办法
10万
查看次数

如何在django中查询GROUP BY?

我查询一个模型,

Members.objects.all()
Run Code Online (Sandbox Code Playgroud)

它返回说

Eric, Salesman, X-Shop
Freddie, Manager, X2-Shop
Teddy, Salesman, X2-Shop
Sean, Manager, X2-Shop
Run Code Online (Sandbox Code Playgroud)

我想要的是,知道最好的Django方法来触发group_by查询到我的数据库,就像,

Members.objects.all().group_by('designation')
Run Code Online (Sandbox Code Playgroud)

哪个当然不起作用.我知道我们可以在"django/db/models/query.py"上做一些技巧,但我很想知道如何在没有修补的情况下做到这一点.

python django django-models

304
推荐指数
8
解决办法
26万
查看次数

Django ModelAdmin中的"list_display"可以显示ForeignKey字段的属性吗?

我有一个与Book有外键关系的Person模型.本书有很多领域,但我最关心的是"作者"(标准的CharField).

话虽如此,在我的PersonAdmin模型中,我想使用"list_display"显示"book.author".我已经尝试了所有这些明显的方法(见下文),但似乎没有任何效果.有什么建议?

class PersonAdmin(admin.ModelAdmin):
    list_display = ['book.author',]
Run Code Online (Sandbox Code Playgroud)

python django modeladmin django-models django-admin

278
推荐指数
13
解决办法
14万
查看次数