Django - Attribut och klassdeklaration

Innehållsförteckning
Django hanterar det deklarativa sättet att ställa in de klasser det kommer att använda, det betyder att vi kan skapa modeller från metaglas redan definierat med vilket vi kan få grundläggande och avancerade funktioner bara genom att göra en anpassad klass, detta tack vare alla verktyg som ingår i ramverk.
En av de punkter som kanske återstår för oss är hur man ska veta, hur ramverket gör saker, det vill säga i vilken ordning det deklarerar de attribut som vi placerar i klasserna.
Sortera klassattribut
När vi använder den deklarativa syntax som vi har tillgänglig i Django, kan en förvirring uppstå och detta är i vilken ordning deklarerade värdena tilldelas, anledningen till detta är det Pytonorm hanterar sina ordböcker på ett rörigt sätt; Normalt skulle detta inte utgöra ett stort problem, men när vi hanterar namnområden eller namnområden om vi behöver göra en viss iteration på attributen är det viktigt att veta i vilken ordning värdena tilldelades, eftersom vi inte skulle ha en hinder.
För att ha full kontroll över vår applikation kan vi på något sätt veta i vilken ordning värdena tilldelas och på så sätt undvika att behöva tilldela en godtycklig order.
För att uppnå denna ordning är det vi kan göra att varje attribut i sig bär ett spår av sin position i sekvensen, för detta måste vi få våra klasser att ärva från en basklass som kan räkna hur många gånger klassen instansieras och därmed tilldela ett korrelativt tal till var och en av dem:
 klass BaseAttribute (objekt): creation_counter = 1 def __init __ (self): self.creation_counter = BaseAttribute.creation_counter BaseAttribute.creation_counter + = 1 

Vi ser följande i kodexemplet:
Varje instans av Objekt ha en namnrymd eller ett annat namnutrymme än klasserna, så var och en av instanserna i den här klassen kommer att ha en skaparräknare som vi kan använda för att sortera objekten enligt den ordning de instanserades i.
Detta är kanske inte den enda lösningen på problemet, men det är sättet på vilket Django sorterar fälten för modeller och former.
Som vi ser var problemet bara ett exempel på hur Django som ramverk hanterar han klasser och deras innehåll med hjälp av Python -resurser.
Klassdeklaration
Med alla klasser vi har i en modul är det lika enkelt att skapa en applikativ klass som att definiera en underklass och lägga till dess attribut.
De olika befintliga ramarna kommer att ha olika namn för klassens attribut, och kommer till och med att ha olika krav på hur klasserna krävs eller i vilken form och kombinationer de måste tillämpas, det kan nå den punkten att ha reserverade namn som kan orsaka konflikter om ett attribut med det namnet skapas. Dessa problem är sällsynta eftersom vi genom god praxis måste undvika denna typ av situation i utvecklingen av en ny ram; den allmänna regeln är att ge utvecklarna största möjliga flexibilitet, med detta uppnår vi att ramverket inte är ett hinder istället för en hjälp.
I följande bild kommer vi att se hur klassen deklareras Kontakt i en applikation i Django:

FÖRSTORA

Med denna enkla kod är det tillräckligt för oss att låta ramverket överföra ett stort antal funktioner till vår modell, utan att behöva göra att utvecklaren måste lägga till dem manuellt.
En annan sak att komma ihåg är att detta är kod Pytonorm, så vi ska inte känna oss begränsade, eftersom praktiskt taget alla giltiga koder i Python hjälper oss att utöka våra klasser.Gillade du och hjälpte denna handledning?Du kan belöna författaren genom att trycka på den här knappen för att ge honom en positiv poäng
wave wave wave wave wave