Wenn ich die Objekte zu erhalten,Wie kann ich die Reihenfolge der Felder im Filter priorisieren
objs = Page.objects.get(slug="some-slug.html", web_id=1)
die generierte SQL-Abfrage
select * from cms_page WHERE ("cms_page"."web_id" = '1' AND "cms_page"."slug" = '''some-slug''')
ich die SQL
ändern möchte, istselect * from cms_page WHERE ("cms_page"."slug" = '''some-slug''' and "cms_page"."web_id" = '1')
Erstes Slug-Feld, da das Slug-Feld ein Index ist (Exist-Index mit diesem Feld)
class Page(models.Model):
title = models.CharField(max_length=128)
body = models.TextField(blank=True)
slug = models.CharField(max_length=200, db_index=True)
web = models.ForeignKey(Web, editable=False)
def __unicode__(self):
return self.title
def save(self, *args, **kwargs):
if not self.slug:
self.slug = "{0}{1}".format(slugify(self.title),".html")
super(Page,self).save(*args,**kwargs)
class Meta:
unique_together = ("web", "slug")
index_together = ["web", "slug"]
Es spielt keine Rolle für den Datenbankoptimierer. – Todor
Warum nicht, das Slug-Feld ist ein Index – erajuan