Ich bin neu zu beiden Django und Python, aber ich beginne, die Dinge in den Griff zu bekommen. Ich denke.Django QuerySet Auftrag
Ich habe dieses Problem und ich kann nicht scheinen, eine Antwort darauf zu finden. (Obwohl ich nehme an, es ist wirklich einfach und die limitierenden Faktoren sind meine Google Fähigkeiten und den Mangel an Python/Django Wissen)
Das Szenario:
ein Benutzer entscheiden kann temporäre Stellenangebot bei einer beliebigen Anzahl von Geschäften zu empfangen er oder sie wählt.
Ich möchte eine Liste der kommenden Stellenangebote (StoreEvents) nur nach dem DateField sortiert anzeigen.
Example:
Store A - 2009-04-20
Store B - 2009-04-22
Store A - 2009-04-23
Atm Ich bin stecken mit den Daten präsentieren zuerst von Speicher sortieren dann nach dem Datum, da ich offensichtlich bin die Storeevents durch das Store-Modell zugreifen.
Example:
Store A - 2009-04-20
Store A - 2009-04-23
Store B - 2009-04-22
Also meine Frage ist: Ist es möglich, eine QuerySet zu schaffen, wie das erste Beispiel aussieht und wie kann ich es tun?
Beispiele für verwandte Modelle enthalten:
class Store(models.Model):
class StoreEvent(models.Model):
info = models.TextField()
date = models.DateField()
store = models.ForeignKey(Store, related_name='events')
class UserStore(models.Model):
user = models.ForeignKey(User, related_name='stores')
store = models.ForeignKey(Store, related_name='available_staff')
Edit:
Die folgende SQL funktioniert der Trick, aber ich kann immer noch nicht herausfinden, wie es in django zu tun:
SELECT *
FROM store_storeevent
WHERE store_id
IN (
SELECT store_id
FROM profile_userstore
WHERE user_id =1
)
ORDER BY date
Sie sollten es einfacher machen können: 'qs = StoreEvent.objects.filter (store__available_staff__user = user) .order_by ("Datum") ' – Anentropic