当我们在django中添加数据库字段时,我们通常会写models.CharField(max_length=100, null=True, blank=True)
.同样是用ForeignKey
,DecimalField
等等.有什么基本的区别
null=True
只要blank=True
只要null=True
, blank=True
在相对于不同的(CharField
,ForeignKey
,ManyToManyField
,DateTimeField
)字段.使用1/2/3有哪些优点/缺点?
在Django模型QuerySets中,我看到有一个__gt
和__lt
for的比较值,但是有__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) 是否可以暂时禁用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)
是否可以暂时禁用约束并删除?
当我阅读Django代码时,我经常在模型中看到所谓的"slug".我不太确定这是什么,但我知道它与URL有关.怎么以及什么时候应该使用这个slug-thing?
(我在本词汇表中已经阅读了它的定义.)
我有first_name,last_name和别名(可选)我需要搜索.所以,我需要一个查询来给我所有具有别名集的名称.
只有我能做到:
Name.objects.filter(alias!="")
Run Code Online (Sandbox Code Playgroud)
那么,与上述相同的是什么?
使用自定义字段扩展User模型(与Django的身份验证应用程序捆绑在一起)的最佳方法是什么?我也可能希望使用该电子邮件作为用户名(用于身份验证).
django OneToOneField和ForeignKey有什么区别?
有没有办法在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
但它不起作用.
我查询一个模型,
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"上做一些技巧,但我很想知道如何在没有修补的情况下做到这一点.
我有一个与Book有外键关系的Person模型.本书有很多领域,但我最关心的是"作者"(标准的CharField).
话虽如此,在我的PersonAdmin模型中,我想使用"list_display"显示"book.author".我已经尝试了所有这些明显的方法(见下文),但似乎没有任何效果.有什么建议?
class PersonAdmin(admin.ModelAdmin):
list_display = ['book.author',]
Run Code Online (Sandbox Code Playgroud) django ×10
django-models ×10
python ×6
django-admin ×1
django-users ×1
filter ×1
modeladmin ×1
mysql ×1
null ×1
slug ×1
sql ×1