Als «django-orm» getaggte Fragen

Das ORM-System von Django, bestehend aus Abfragesatz und Modellsystemen.


4
Was ist der Unterschied zwischen select_related und prefetch_related in Django ORM?
In Django doc, select_related() "folgt" Fremdschlüsselbeziehungen und wählt zusätzliche verwandte Objektdaten aus, wenn die Abfrage ausgeführt wird. prefetch_related() führt für jede Beziehung eine separate Suche durch und führt das "Beitreten" in Python durch. Was bedeutet es, "in Python mitzumachen"? Kann jemand mit einem Beispiel illustrieren? Mein Verständnis ist, dass für …

4
Selbstreferenzieller Fremdschlüssel von Django
Ich bin ein bisschen neu in Webapps und Datenbank-Sachen im Allgemeinen, also könnte dies eine dumme Frage sein. Ich möchte ein Modell ("CategoryModel") mit einem Feld erstellen, das auf die primäre ID einer anderen Instanz des Modells (seines übergeordneten Elements) verweist. class CategoryModel(models.Model): parent = models.ForeignKey(CategoryModel) Wie mache ich das? …


3
Django values_list vs values
Was ist in Django der Unterschied zwischen den folgenden beiden: Article.objects.values_list('comment_id', flat=True).distinct() vs. Article.objects.values('comment_id').distinct() Mein Ziel ist es, eine Liste mit eindeutigen Kommentar-IDs unter jedem zu erhalten Article. Ich habe die Dokumentation gelesen (und tatsächlich beide Ansätze verwendet). Die Ergebnisse scheinen offensichtlich ähnlich zu sein.

6
Wie erstelle ich ein Objekt für ein Django-Modell mit vielen zu vielen Feldern?
Mein Modell: class Sample(models.Model): users = models.ManyToManyField(User) Ich möchte beide user1und user2in diesem Modell speichern : user1 = User.objects.get(pk=1) user2 = User.objects.get(pk=2) sample_object = Sample(users=user1, users=user2) sample_object.save() Ich weiß, dass das falsch ist, aber ich bin sicher, Sie bekommen, was ich tun möchte. Wie würdest du es machen ?




4
Verketten Sie mehrere Filter () in Django. Ist dies ein Fehler?
Ich habe immer angenommen, dass das Verketten mehrerer filter () -Aufrufe in Django immer dasselbe ist wie das Sammeln in einem einzigen Aufruf. # Equivalent Model.objects.filter(foo=1).filter(bar=2) Model.objects.filter(foo=1,bar=2) Ich bin jedoch auf einen komplizierten Abfragesatz in meinem Code gestoßen, bei dem dies nicht der Fall ist class Inventory(models.Model): book = models.ForeignKey(Book) …
102 django  django-orm 

5
Wie benenne ich Elemente in values ​​() in Django um?
Ich möchte so ziemlich das Gleiche tun wie in diesem Ticket auf djangoproject.com , aber mit einigen zusätzlichen Formatierungen. Aus dieser Abfrage >>> MyModel.objects.values('cryptic_value_name') [{'cryptic_value_name': 1}, {'cryptic_value_name': 2}] Ich möchte so etwas bekommen: >>> MyModel.objects.values(renamed_value='cryptic_value_name') [{'renamed_value': 1}, {'renamed_value': 2}] Gibt es eine andere, besser eingebaute Möglichkeit oder muss ich dies …
101 django  django-orm 

5
Django wählt nur Zeilen mit doppelten Feldwerten aus
Angenommen, wir haben ein Modell in Django, das wie folgt definiert ist: class Literal: name = models.CharField(...) ... Das Namensfeld ist nicht eindeutig und kann daher doppelte Werte haben. Ich muss die folgende Aufgabe ausführen: Wählen Sie alle Zeilen aus dem Modell aus, die mindestens einen doppelten Wert des nameFelds …
96 sql  django  django-orm 

4
Wählen Sie UNTERSCHIEDLICHE einzelne Spalten in Django?
Ich bin gespannt, ob es in Django eine Möglichkeit gibt, eine Abfrage durchzuführen, die kein " SELECT * FROM..." darunter ist. Ich versuche SELECT DISTINCT columnName FROM ...stattdessen ein " " zu machen. Insbesondere habe ich ein Modell, das aussieht wie: class ProductOrder(models.Model): Product = models.CharField(max_length=20, promary_key=True) Category = models.CharField(max_length=30) …

4
Django Filter viele-zu-viele mit enthält
Ich versuche, eine Reihe von Objekten durch eine Viele-zu-Viele-Beziehung zu filtern. Da das trigger_rolesFeld mehrere Einträge enthalten kann, habe ich den containsFilter ausprobiert . Aber da das für die Verwendung mit Strings ausgelegt ist, bin ich ziemlich hilflos, wie ich diese Beziehung filtern soll (Sie können die values_list()atm ignorieren .). …

9
So umgehen Sie den Mangel an Unterstützung für Fremdschlüssel in verschiedenen Datenbanken in Django
Ich weiß, dass Django keine Fremdschlüssel in mehreren Datenbanken unterstützt (ursprünglich Django 1.3-Dokumente). Aber ich suche nach einer Problemumgehung. Was funktioniert nicht? Ich habe jeweils zwei Modelle in einer separaten Datenbank. routers.py: class NewsRouter(object): def db_for_read(self, model, **hints): if model._meta.app_label == 'news_app': return 'news_db' return None def db_for_write(self, model, **hints): …
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.