Django Academy · Oppitunti

Inline-osat ja vain luku -kentät

Muokatkaa liittyviä rivejä suoraan ja suojatkaa kentät

Oppitunti 4/413 vaihetta

Inline-osat ja vain luku -kentät on ilmainen Django Academy-oppitunti CoddyKitissä. Tämä on oppitunti 4/4. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu Django Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Django Academy-kurssilla on yhteensä 4 oppituntia.

Muokatkaa liittyviä rivejä yhdessä

Joskus toisiinsa liittyvät tietueet kuuluvat samalle sivulle. inline mahdollistaa alirivien muokkaamisen suoraan ylätietueen muokkauslomakkeessa. 🧩

Kaksi inline-tyyliä

Django tarjoaa kaksi asettelua. TabularInline näyttää rivit tiiviinä taulukkona, kun taas StackedInline pinoaa jokaisen rivin omaksi lohkokseen.

Määrittäkää inline

Luokaa pieni luokka, joka perii luokan TabularInline ja jonka model-attribuutti viittaa upotettavaan alitietueeseen.

class CommentInline(admin.TabularInline):
    model = Comment

Liittäkää ylätietueeseen

Lisätkää inline-luokka ylätietueen hallintaluetteloon. inlines-asetus käskee Djangoa näyttämään alirivit ylätietueen lomakkeen sisällä.

class PostAdmin(admin.ModelAdmin):
    inlines = [CommentInline]

Tyhjät lisärivit

Inlinet näyttävät tyhjiä rivejä nopeaa lisäämistä varten. Määrittäkää extra-asetuksella tyhjien paikkojen määrä; usein yksi riittää.

extra = 1

ForeignKey-vaatimus

Inlinet toimivat vain, kun alitietueella on ylätietueeseen viittaava ForeignKey. Tämän yhteyden avulla Django tietää, mitkä rivit kuuluvat yhteen.

Suojatkaa kenttä

Jotkin arvot pitää voida nähdä, mutta niitä ei saa muokata käsin. Lisätkää ne asetukseen readonly_fields, jolloin hallinta näyttää ne lukittuina. 🔒

readonly_fields = ("created", "updated")

Automaattiset aikaleimat

auto_now_add-päivämäärän kaltaiset kentät asettaa Django, eivät käyttäjät. Merkitsemällä ne readonly-kentiksi vältätte hämmentävät muutokset, joita ei voi tallentaa.

Näyttäkää laskettu arvo

readonly_fields voi sisältää myös metodin, joten voitte näyttää lasketun arvon, jolle ei ole todellista tietokantasaraketta.

def word_count(self, obj):
    return len(obj.body.split())

Readonly inlineissä

Inlinet hyväksyvät myös readonly_fields-asetuksen. Käyttäkää sitä näyttämään alitietueiden tiedot selkeästi ja pitämään arkaluonteiset sarakkeet muokkaamattomina.

Käyttöoikeudet ovat edelleen voimassa

Readonly koskee lomaketta, ei tietoturvaa. Todellista käyttöä ohjaavat käyttäjän käyttöoikeudet, joten käyttäkää molempia turvalliseen muokkaukseen.

Pikatarkistus

Mitä mallilta vaaditaan, jotta se voidaan näyttää inlinena?

Kertaus

Upotitte toisiinsa liittyvät rivit inlinejen avulla ja lukitsitte arkaluonteiset arvot readonly_fields-asetuksella. Yhdessä ne tekevät hallinnan muokkauksesta monipuolista ja turvallista. ✅

Aloita maksutta

Opi Python tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
30
Oppitunnit
120

Usein kysytyt kysymykset

Onko oppitunti ”Inline-osat ja vain luku -kentät” ilmainen?

Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa Django Academy-oppimispolun 3 oppituntia, myös oppitunnin “Inline-osat ja vain luku -kentät”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Django Academy-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”Inline-osat ja vain luku -kentät”?

Muokatkaa liittyviä rivejä suoraan ja suojatkaa kentät Harjoittelet Django Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Django Academy-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin Django Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 4/4.

Kuinka kauan ”Inline-osat ja vain luku -kentät”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä Django Academy-oppitunnilla?

Kyllä. Jokainen Django Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. createsuperuser ja sisäänkirjautuminen
  2. Mallien rekisteröinti admin.siteen
  3. ModelAdminin mukauttaminen
  4. Inline-osat ja vain luku -kentät
← Takaisin: Django Academy