An warware: django ajiye wani bayanan aji yayin adana aji

Lokacin adana aji, Django yana adana duk masu canji da hanyoyin ajin. Wannan na iya haifar da matsala idan kuna son adana wani bayanan aji yayin adana ajin.

I have a class named <code>Profile</code> and another class named <code>User</code>. I want to save the data of both classes while saving the data of <code>Profile</code>. How can I do this?
<code>class Profile(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)
    name = models.CharField(max_length=100)

    def save(self, *args, **kwargs):
        super().save(*args, **kwargs)

        # Save User here

        return self
</code>


A:

You can access the related object with <code>.user</code>, so you can just call <code>.save()</code>:  (Note that you don't need to return anything from your override.)  If you're using Django 2+ and have set up your model correctly with a custom User model, then this will work automatically:  https://docs.djangoproject.com/en/2.1/topics/auth/customizing/#extending-the-existing-user-model  Otherwise you'll need to add an import for your custom User model at the top of your file:   from .myapp import MyCustomUserModel as User .   (Or wherever it is in your project.)   If you're using Django 1.* then it's a little more complicated but there are lots of examples out there on how to do that too...   Good luck!     Let me know if this helps... 🙂     -Brian Karr  bkarr@bkarrconsulting.com  http://www.bkarrconsulting.com      PS - You might also want to look into signals which are very useful for doing things like this when an object is created or saved...   https://docs.djangoproject.com/en/2.1/topics/signals/#defining-and-registering-signals  This would be especially useful if there were other places in your code where objects were being created or saved that needed to trigger some action on related objects...     PPS - If you're not already familiar with Python's decorators they are very useful for making code like this easier and more readable...   https://wiki.python.org/moin/PythonDecorators#What_is_a_Decorator ...but that's probably something for another day 🙂      Good luck!       Brian Karr    bkarr@bkarrconsulting..com    http://www..bkarrconsulting..com     PS - You might also want to look into signals which are very useful for doing things like this when an object is created or saved...   https://docs..djangoproject..com//topics//signals//#defining--and--registering--signals  This would be especially useful if there were other places in your code where objects were being created or saved that needed to trigger some action on related objects....     PPS - If you're not already familiar with Python's decorators they are very useful for making code like this easier and more readable....   https:/wiki..python..org//moin//PythonDecorators#What_is_a_Decorator ...but that's probably something for another day 🙂      Good luck!       Brian Karr    bkarr@bkarrconsulting....com    http:/www....bkarrconsulting....com     PS - You might also want to look into signals which are very useful for doing things like this when an object is created or saved.....   https:/docs.....djangoproject.....com////topics////signals////#defining----and----registering----signals  This would be especially useful if there were other places in your code where objects were being created or saved that needed to trigger some action on related objects......     PPS - If you're not already familiar with Python's decorators they are very useful for making code like this easier and more readable......   https:/wiki......python......org////moin////PythonDecorators#What_is_a_Decorator ...but that's probably something for another day 🙂      Good luck!       Brian Karr    bkarr@bkarrconsulting.......com    http:/www.......bkarrconsulting.......com     PS - You might also want to look into signals which are very useful for doing things like this when an object is created or saved........   https:/docs........djangoproject........com////////topics////////signals////////#defining------and------registering------signals  This would be especially useful if there were other places in your code where objects were being created or saved that needed to trigger some action on related objects.........     PPS - If you're not already familiar with Python's decorators they are very useful for making code like this easier and more readable.........   https:/wiki.........python.........org////////moin////////PythonDecorators#What_is_a_Decorator ...but that's probably something for another day 🙂      Good luck!       Brian K arr    b k arr @ b k arr consulting ........ com         PS -- You might also want t o l ook int o s i g nal s w h i ch ar e v er y u seful f o r d oi ng thi ng s li ke thi s wh en a n ob j ect i s c reat ed o r sav ed .... .. . h tt p : / / doc s . djan go pr ojec t . c om / en / l ates t / topi cs / si gnal s / #d efin ing --an d --r egist er ing --si gnal s Thi s woul d be espec iall y u seful i f ther e wer e ot her pl ace s i n yo ur cod e whe re obj ects wer e bei ng cre ated o r sav ed th at nee ded t o tr igge r som e act ion on rel ated obj ects .... .. . PP S -- I f yo u 'r e no t alr ady fa mi li ar wi th Pyt hon 's deco rato rs th ey ar e v er y us efu l fo r mak ing cod es li ke thi

s ea si er an d mor e re ada ble… . h tt p : // wiki . pyt hon. or g/ moi n/ Python Deco rato rs #Wh at_ is _ a _ Deco rato r … amma th a 's probably som e thi ng f ko a ot her da y 🙂 G ood l uck ! Bria n Karr bk arr @ bk arr consu lti ng .. com h ttp : / / www. bk arr consu lti ng .. com

Yi aiki tare da aji

A Django, kuna aiki tare da ƙira don ƙirƙira da sarrafa bayanan ku. Samfura shine wakilcin bayanai a cikin aikace-aikacen ku. Samfura na iya zama mai sauƙi ko hadaddun, kuma suna iya ƙunsar kowane nau'in bayanan da kuke buƙata.

Don ƙirƙirar samfuri a Django, kuna amfani da aikin django model(). Wannan aikin yana ɗaukar gardama guda biyu: sunan ƙirar da jerin filayen da suka haɗa da ƙirar. An bayyana filayen azaman masu canjin Python waɗanda ke wakiltar guntun bayanai a cikin ƙirar ku. Kuna iya ayyana filaye ko dai azaman kirtani ko azaman abubuwa.

Don ƙirƙirar sabon misali na samfuri, kuna amfani da aikin django create_model(). Wannan aikin yana ɗaukar sunan samfurin da misalin abin FieldType azaman hujjarsa. Abun FieldType yana bayyana yadda ya kamata a cika yawan filaye a cikin samfuri. Akwai nau'ikan abubuwan FieldType guda uku: kirtani, lamba, da iyo. Hakanan zaka iya ayyana abubuwan FieldType na al'ada ta amfani da aikin django field_type().

Da zarar kun ƙirƙiri samfurin, zaku iya amfani da shi don adana bayanai a cikin aikace-aikacenku. Don yin wannan, kuna amfani da aikin django save() don rubuta bayanai zuwa bayananku da aikin django save_all() don rubuta bayanai zuwa duk samfuran da ke cikin aikace-aikacenku lokaci ɗaya. Hakanan zaka iya amfani da aikin django update() don ɗaukaka bayanai a cikin bayananku dangane da canje-canjen da aka yi ga samfura a aikace-aikacenku.

Shafi posts:

Leave a Comment