Einführung in gängige ORM-Operationsbeispiele in Django
Der folgende Editor bietet Ihnen eine detaillierte Erklärung häufig verwendeter ORM-Operationen in Django. Der Herausgeber findet es ziemlich gut, deshalb werde ich es jetzt mit Ihnen teilen und es allen als Referenz geben. Folgen wir dem Editor und werfen wir einen Blick auf
Django-Prozess:
1 Erstellen Sie ein Django-Projekt: django-admin startproject projectname
2 Erstellen Sie eine Anwendung: python manage.py startapp app name
3 Erstellen Sie eine Zuordnungsbeziehung zwischen URL und Ansichtsfunktion im Controller (urls.py) (Eins-zu-eins-Korrespondenz)
4 Erstellen Sie eine Ansichtsfunktion, vervollständigen Sie den Logikcode
5 Holen Sie sich das Sammlungsobjekt aus der Datenbank
5 Betten Sie die Datenbankvariablen in die Vorlage zum Rendern ein (Rendermethode)
6 Geben Sie die gerenderte HTML-Seite an den Client zurück
URL: Protokoll+Domänenname+Port+Pfad
Protokoll: http
Domänenname: www.cnblogs. com
Port: 80
Pfad: yuanchenqi/articles/6811632.html
Daten: a=1
Der reguläre Ausdruck in der URL-Konfiguration entspricht dem Pfadteil einer URL
TEMPALTE (Vorlage): HTML-Code + Logiksteuercode
Syntax der Logiksteuerung: {{}} Rendering-Variablenfilter: {{var|method:parameter}}
{% %} Rendering-Tags
{% if %}
{% for %}
{% url %}
{% url %}
Benutzerdefinierter Filter und Simpletag:
(1) Templatetags-Modul in der App erstellen (erforderlich)
(2) Erstellen Sie eine beliebige .py-Datei, z als: my_tags.py
aus Django-Importvorlage
register = template.Library()
@register.filter
def filter_multi(v1,v2):
return v1 * v2
(3) Erstellen Sie eine beliebige .py-Datei, wie zum Beispiel: my_tags.py
Importieren Sie die zuvor erstellte my_tags.py in die HTML-Datei mit dem benutzerdefinierten simple_tag und Filter: {% Load My_Tags %}
(4) Verwenden Sie simple_tag und Filter:
{% Load xxx %} #Erste Zeile
# num= 12
{ { num|filter_multi:2 }} #24
Zusammenfassung:
Filter: can Akzeptieren Sie nur einen Parameter. Sie können jedoch if-Anweisungen wie
verwenden. simpletag: kann mehrere Parameter akzeptieren, Sie können jedoch keine if-Anweisungen wie
verwenden ORM:
Beziehung zwischen Tabellen:
Eins-zu-viele-Fremdschlüsselfeld muss in der Untertabelle (Eins-zu-viele-Tabelle) Fremdschlüssel sein
Many-to-many in Die dritte Tabelle wird durch Hinzufügen eindeutiger Einschränkungen auf der Grundlage von zwei Foreign KEY
Eins-zu-eins-Fremdschlüsselfeldern implementiert.
Verwenden Sie die MySQL-Methode
1 Ändern Sie die Datenbankkonfiguration der Einstellungsdatei
2 Ändern Sie die Treiberkonfiguration in der __init__-Datei
ORM-zu-SQL-Konfiguration
Konfiguration der Protokollierungseinstellungen
Table.object.filter(): Was Sie erhalten, ist ein Sammlungsobjekt wie [obj1, obj2]
Table.object.get(): Was erhalten wird, ist ein Modellobjekt
Eins-zu-viele-Hinzufügen eines Datensatzes:
# Methode 1:
# Book.objects.create(id=1,title="python",publication_date="2017-03-04",price=88.8,publisher_id=1)
#Methode 2
p1=Publisher.objects.get(name="Renmin University Press")
Book.objects.create(id=2,title="python",publication_date="2017-05-04" ,Preis=98,8, Herausgeber=p1)
Erstellen Sie eine Viele-zu-Viele-Beziehung in der Datei models.py
authors=models.ManyToManyField("Author" ) #Many-to-many, wenn die Tabelle in ist. Sie müssen unten Anführungszeichen hinzufügen
Many-to-many-Addition
ManyToMany hat nur eine Möglichkeit zum Hinzufügen :
book.authors.add(*[author1 ,author2])
book.authors.remove(*[author1,author2])
Hinweis: Verstehen Sie book_obj. Herausgeber
book_obj.authors
Selbstgebauter dritter Tisch
Klasse Book2Author(models.Model):
author=models .ForeignKey("Author")
Book= models.ForeignKey ("Book")
# Dann gibt es noch einen anderen Weg:
author_obj=models.Author.objects.filter(id=2)[0]
book_obj =models.Book.objects.filter(id =3)[0]
s=models.Book2Author.objects.create(author_id=1,Book_id=2)
s.save ()
s=models.Book2Author(author=author_obj ,Book_id=1)
s.save()
.value und .value_list betreiben das Buchtabellenbuch
#Das Ergebnis der Verwendung von Wert ist kein Objekt, sondern ein Objekt. Das Ergebnis eines Felds oder Attributs ist ebenfalls querySet
ret1=Book.objects.values('title')
ret1_list = Book.objects.values_list('title')
print('ret1 is : ',ret1) #Das Ergebnis ist: ret1 is :
print(ret1_list) #Das Ergebnis ist die Liste in querySet
Der Unterschied zwischen Aktualisieren und Speichern bei Änderungsvorgängen:
Update setzt nur die angegebenen Felder und Speichern legt alle Felder fest, sodass die Aktualisierung effizienter ist
Abfrage:
Erweiterter Inhalt
# Abfragebezogene API:
# <1>filter(**kwargs): Es enthält Objekte, die den angegebenen Filterbedingungen entsprechen
# <2>all(): Alle Ergebnisse abfragen
# < ;3>get(**kwargs): Gibt Objekte zurück, die den angegebenen Filterbedingungen entsprechen. Es gibt nur ein zurückgegebenes Ergebnis. Wenn mehr als ein Objekt vorhanden ist oder keines, das den Filterbedingungen entspricht, wird ein Fehler ausgegeben.
#-----------Die folgenden Methoden werden alle zum Verarbeiten der Abfrageergebnisse verwendet: wie zum Beispiel Objekte.filter.values()--------
# <4>values(*field): Gibt ein ValueQuerySet zurück – ein spezielles QuerySet. Nach der Ausführung erhalten Sie keine Reihe modellinstanziierter Objekte, sondern eine iterierbare Wörterbuchsequenz
# < 5>exclude(**kwargs): Es enthält Objekte, die nicht den angegebenen Filterbedingungen entsprechen
# <6>order_by(*field): Sortieren Sie die Abfrageergebnisse
# < 7>reverse(): Sortiert die Abfrageergebnisse umgedreht
# <8>distinct(): Doppelte Datensätze aus den zurückgegebenen Ergebnissen entfernen
# <9> ;values_list(*field): Es ist sehr ähnlich zu „values()“. Es gibt eine Tupelsequenz zurück und „values“ gibt eine Wörterbuchsequenz zurück.
# <10>count(): Gibt Übereinstimmungen in der Datenbank zurück. Die Anzahl der Objekte in der Abfrage (QuerySet).
# <11>first(): Gibt den ersten Datensatz zurück
# <12>last(): Gibt den letzten Datensatz zurück
# <13> (): Wenn das QuerySet Daten enthält, gibt es True zurück, andernfalls gibt es False
zurückDas obige ist der detaillierte Inhalt vonEinführung in gängige ORM-Operationsbeispiele in Django. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Django und Flask sind beide führend bei Python-Web-Frameworks und haben beide ihre eigenen Vorteile und anwendbaren Szenarien. In diesem Artikel wird eine vergleichende Analyse dieser beiden Frameworks durchgeführt und spezifische Codebeispiele bereitgestellt. Entwicklungseinführung Django ist ein Web-Framework mit vollem Funktionsumfang, dessen Hauptzweck darin besteht, schnell komplexe Webanwendungen zu entwickeln. Django bietet viele integrierte Funktionen wie ORM (Object Relational Mapping), Formulare, Authentifizierung, Verwaltungs-Backend usw. Diese Funktionen ermöglichen es Django, große Mengen zu verarbeiten

Django ist ein vollständiges Entwicklungsframework, das alle Aspekte des Webentwicklungslebenszyklus abdeckt. Derzeit ist dieses Framework eines der beliebtesten Web-Frameworks weltweit. Wenn Sie vorhaben, mit Django Ihre eigenen Webanwendungen zu erstellen, müssen Sie die Vor- und Nachteile des Django-Frameworks verstehen. Hier finden Sie alles, was Sie wissen müssen, einschließlich spezifischer Codebeispiele. Vorteile von Django: 1. Schnelle Entwicklung – Djang kann Webanwendungen schnell entwickeln. Es bietet eine umfangreiche Bibliothek und interne

So aktualisieren Sie die Django-Version: Schritte und Überlegungen, spezifische Codebeispiele erforderlich. Einführung: Django ist ein leistungsstarkes Python-Web-Framework, das kontinuierlich aktualisiert und aktualisiert wird, um eine bessere Leistung und mehr Funktionen bereitzustellen. Für Entwickler, die ältere Versionen von Django verwenden, kann die Aktualisierung von Django jedoch einige Herausforderungen mit sich bringen. In diesem Artikel werden die Schritte und Vorsichtsmaßnahmen zum Aktualisieren der Django-Version vorgestellt und spezifische Codebeispiele bereitgestellt. 1. Sichern Sie die Projektdateien, bevor Sie Djan aktualisieren

PyCharm ist eine leistungsstarke integrierte Python-Entwicklungsumgebung mit umfangreichen Funktionen und Tools, die die Entwicklungseffizienz erheblich verbessern können. Unter diesen ist die Ersetzungsfunktion eine der im Entwicklungsprozess häufig verwendeten Funktionen, die Entwicklern helfen kann, den Code schnell zu ändern und die Codequalität zu verbessern. In diesem Artikel wird die Ersetzungsfunktion von PyCharm ausführlich vorgestellt, kombiniert mit spezifischen Codebeispielen, um Anfängern zu helfen, diese Funktion besser zu beherrschen und zu verwenden. Einführung in die Ersetzungsfunktion Die Ersetzungsfunktion von PyCharm kann Entwicklern dabei helfen, bestimmten Text im Code schnell zu ersetzen

2024 ist das erste Jahr der KI-Mobiltelefone. Dank der intelligenten KI-Technologie können unsere Mobiltelefone effizienter und bequemer genutzt werden. Kürzlich hat die zu Beginn des Jahres erschienene Galaxy S24-Serie ihr generatives KI-Erlebnis noch einmal verbessert. Werfen wir einen Blick auf die detaillierte Funktionseinführung unten. 1. Umfassende Stärkung der generativen KI. Die Samsung Galaxy S24-Serie hat durch die Stärkung der Galaxy AI viele intelligente Anwendungen hervorgebracht. Diese Funktionen sind tief in Samsung One UI6.1 integriert, sodass Benutzer jederzeit ein komfortables intelligentes Erlebnis erhalten Verbesserung der Leistung von Mobiltelefonen. Zu den Highlights der Galaxy S24-Serie gehört die Sofortsuchfunktion, die Nutzer einfach gedrückt halten müssen

Django ist ein in Python geschriebenes Webanwendungs-Framework, das Wert auf schnelle Entwicklung und saubere Methoden legt. Obwohl Django ein Web-Framework ist, müssen Sie zur Beantwortung der Frage, ob Django ein Front-End oder ein Back-End ist, ein tiefes Verständnis der Konzepte von Front-End und Back-End haben. Das Front-End bezieht sich auf die Schnittstelle, mit der Benutzer direkt interagieren, und das Back-End bezieht sich auf serverseitige Programme. Sie interagieren mit Daten über das HTTP-Protokoll. Wenn das Front-End und das Back-End getrennt sind, können die Front-End- und Back-End-Programme unabhängig voneinander entwickelt werden, um Geschäftslogik bzw. interaktive Effekte sowie den Datenaustausch zu implementieren.

Tipps zum Erstellen von Projekten mit dem Django-Framework in PyCharm, die spezifische Codebeispiele erfordern. Django ist ein leistungsstarkes Python-Web-Framework, das eine Reihe von Tools und Funktionen für die schnelle Entwicklung von Webanwendungen bereitstellt. PyCharm ist eine in Python entwickelte integrierte Entwicklungsumgebung (IDE), die eine Reihe praktischer Funktionen und Tools zur Steigerung der Entwicklungseffizienz bietet. Durch die Kombination von Django und PyCharm können Projekte schneller und bequemer erstellt werden

In Hua Yishan Heart Moon ist Lu Shu ein SSR-Star. Er ist als Single-Target-Backline-Spieler positioniert und verfügt über eine sehr beeindruckende kritische Trefferquote. Hier ist, was ich Ihnen mitgebracht habe Schauen Sie sich die Einführung in die Fähigkeiten und Eigenschaften von Hua Yishan Heart of the Moon Lu Shu an. Berühmtheitsmerkmale Berühmtheitsfähigkeiten 1. Lu Ming Shuzhong Fähigkeitsbeschreibung: Lu Shu wurde in Qiongqihui in Shuzhong geboren. Er praktiziert seit seiner Kindheit Kampfkunst und verfügt über herausragende Kampfkunstfähigkeiten. Verursacht Grundangriffsschaden in Höhe von 100 % der Angriffskraft des Gegners in der hinteren Reihe und verringert die Wut des Ziels um 10 Punkte. Fertigkeitsattribute: Stufe 2: Der Grundangriffsschaden wurde auf 105 % erhöht. Stufe 2: Der Grundangriffsschaden wird auf 110 % erhöht und die Wut des Ziels wird um 15 Punkte verringert. Stufe 2: Der Schaden des Basisangriffs wurde auf 115 % erhöht. Stufe 2: Der Grundangriffsschaden wird auf 120 % erhöht und die Wut des Ziels wird um 20 Punkte verringert. Level 2: Basisangriff
