I have two models and they are connected through ForiegnKey in my Django Project












0















#Models.py



     class Appname(models.Model):

name=models.CharField(max_length=150,blank=False,null=False)

def __str__(self):
return self.name
class placement(models.Model):
user=models.ForeignKey(User,related_name='placeid', null=True, default=None,on_delete=models.CASCADE)
name=models.ForeignKey(Appname,related_name='appname',null=True,default=None,on_delete=models.CASCADE,editable=False)
ad_space=models.CharField(max_length=150,blank=False,null=False)
PID_TYPE = (
('FN','FORMAT_NATIVE'),
('FNB','FORMAT_NATIVE_BANNER'),
('FI','FORMAT_INTERSTITIAL'),
('FB','FORMAT_BANNER'),
('FMR','FORMAT_MEDIUM,RECT'),
('FRV','FORMAT_REWARDED_VIDEO'),
)

format = models.CharField(max_length=3,choices = PID_TYPE,default = 'FN',blank=False, null=False)
pid=models.CharField( max_length=50,default='',blank=False, null=False)
cpm=models.IntegerField(default=0,blank=False, null=False)
ADS_TYPE=(
('FB','FACEBOOK'),
('G','GOOGLE'),
) source=models.CharField(max_length=2,choices=ADS_TYPE,default='FB',blank=False, null=False)
comments=models.TextField(default='',blank=False, null=False)
objects=models.Manager()


def __str__(self):
return self.ad_space

def get_absolute_url(self):
return reverse("dashapp:view")


Here is the Ques.



I save my first model through form using generic view now i have used ForeignKey in my 2nd model . I want that when i fill my second Form the name variable gets autofill with the first model value . can i do that??










share|improve this question


















  • 1





    Note: related_name='appname' is wrong for the name field on placement. Because this should be the name of the reverse relationship, i.e. if you have an Appname object a, how to access all the placement objects. Probably you want related_name="placements" (note plural) so you can then access a.placements.

    – dirkgroten
    Nov 20 '18 at 14:47
















0















#Models.py



     class Appname(models.Model):

name=models.CharField(max_length=150,blank=False,null=False)

def __str__(self):
return self.name
class placement(models.Model):
user=models.ForeignKey(User,related_name='placeid', null=True, default=None,on_delete=models.CASCADE)
name=models.ForeignKey(Appname,related_name='appname',null=True,default=None,on_delete=models.CASCADE,editable=False)
ad_space=models.CharField(max_length=150,blank=False,null=False)
PID_TYPE = (
('FN','FORMAT_NATIVE'),
('FNB','FORMAT_NATIVE_BANNER'),
('FI','FORMAT_INTERSTITIAL'),
('FB','FORMAT_BANNER'),
('FMR','FORMAT_MEDIUM,RECT'),
('FRV','FORMAT_REWARDED_VIDEO'),
)

format = models.CharField(max_length=3,choices = PID_TYPE,default = 'FN',blank=False, null=False)
pid=models.CharField( max_length=50,default='',blank=False, null=False)
cpm=models.IntegerField(default=0,blank=False, null=False)
ADS_TYPE=(
('FB','FACEBOOK'),
('G','GOOGLE'),
) source=models.CharField(max_length=2,choices=ADS_TYPE,default='FB',blank=False, null=False)
comments=models.TextField(default='',blank=False, null=False)
objects=models.Manager()


def __str__(self):
return self.ad_space

def get_absolute_url(self):
return reverse("dashapp:view")


Here is the Ques.



I save my first model through form using generic view now i have used ForeignKey in my 2nd model . I want that when i fill my second Form the name variable gets autofill with the first model value . can i do that??










share|improve this question


















  • 1





    Note: related_name='appname' is wrong for the name field on placement. Because this should be the name of the reverse relationship, i.e. if you have an Appname object a, how to access all the placement objects. Probably you want related_name="placements" (note plural) so you can then access a.placements.

    – dirkgroten
    Nov 20 '18 at 14:47














0












0








0








#Models.py



     class Appname(models.Model):

name=models.CharField(max_length=150,blank=False,null=False)

def __str__(self):
return self.name
class placement(models.Model):
user=models.ForeignKey(User,related_name='placeid', null=True, default=None,on_delete=models.CASCADE)
name=models.ForeignKey(Appname,related_name='appname',null=True,default=None,on_delete=models.CASCADE,editable=False)
ad_space=models.CharField(max_length=150,blank=False,null=False)
PID_TYPE = (
('FN','FORMAT_NATIVE'),
('FNB','FORMAT_NATIVE_BANNER'),
('FI','FORMAT_INTERSTITIAL'),
('FB','FORMAT_BANNER'),
('FMR','FORMAT_MEDIUM,RECT'),
('FRV','FORMAT_REWARDED_VIDEO'),
)

format = models.CharField(max_length=3,choices = PID_TYPE,default = 'FN',blank=False, null=False)
pid=models.CharField( max_length=50,default='',blank=False, null=False)
cpm=models.IntegerField(default=0,blank=False, null=False)
ADS_TYPE=(
('FB','FACEBOOK'),
('G','GOOGLE'),
) source=models.CharField(max_length=2,choices=ADS_TYPE,default='FB',blank=False, null=False)
comments=models.TextField(default='',blank=False, null=False)
objects=models.Manager()


def __str__(self):
return self.ad_space

def get_absolute_url(self):
return reverse("dashapp:view")


Here is the Ques.



I save my first model through form using generic view now i have used ForeignKey in my 2nd model . I want that when i fill my second Form the name variable gets autofill with the first model value . can i do that??










share|improve this question














#Models.py



     class Appname(models.Model):

name=models.CharField(max_length=150,blank=False,null=False)

def __str__(self):
return self.name
class placement(models.Model):
user=models.ForeignKey(User,related_name='placeid', null=True, default=None,on_delete=models.CASCADE)
name=models.ForeignKey(Appname,related_name='appname',null=True,default=None,on_delete=models.CASCADE,editable=False)
ad_space=models.CharField(max_length=150,blank=False,null=False)
PID_TYPE = (
('FN','FORMAT_NATIVE'),
('FNB','FORMAT_NATIVE_BANNER'),
('FI','FORMAT_INTERSTITIAL'),
('FB','FORMAT_BANNER'),
('FMR','FORMAT_MEDIUM,RECT'),
('FRV','FORMAT_REWARDED_VIDEO'),
)

format = models.CharField(max_length=3,choices = PID_TYPE,default = 'FN',blank=False, null=False)
pid=models.CharField( max_length=50,default='',blank=False, null=False)
cpm=models.IntegerField(default=0,blank=False, null=False)
ADS_TYPE=(
('FB','FACEBOOK'),
('G','GOOGLE'),
) source=models.CharField(max_length=2,choices=ADS_TYPE,default='FB',blank=False, null=False)
comments=models.TextField(default='',blank=False, null=False)
objects=models.Manager()


def __str__(self):
return self.ad_space

def get_absolute_url(self):
return reverse("dashapp:view")


Here is the Ques.



I save my first model through form using generic view now i have used ForeignKey in my 2nd model . I want that when i fill my second Form the name variable gets autofill with the first model value . can i do that??







django django-models django-forms django-templates






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 20 '18 at 14:22









Anoop SharmaAnoop Sharma

177




177








  • 1





    Note: related_name='appname' is wrong for the name field on placement. Because this should be the name of the reverse relationship, i.e. if you have an Appname object a, how to access all the placement objects. Probably you want related_name="placements" (note plural) so you can then access a.placements.

    – dirkgroten
    Nov 20 '18 at 14:47














  • 1





    Note: related_name='appname' is wrong for the name field on placement. Because this should be the name of the reverse relationship, i.e. if you have an Appname object a, how to access all the placement objects. Probably you want related_name="placements" (note plural) so you can then access a.placements.

    – dirkgroten
    Nov 20 '18 at 14:47








1




1





Note: related_name='appname' is wrong for the name field on placement. Because this should be the name of the reverse relationship, i.e. if you have an Appname object a, how to access all the placement objects. Probably you want related_name="placements" (note plural) so you can then access a.placements.

– dirkgroten
Nov 20 '18 at 14:47





Note: related_name='appname' is wrong for the name field on placement. Because this should be the name of the reverse relationship, i.e. if you have an Appname object a, how to access all the placement objects. Probably you want related_name="placements" (note plural) so you can then access a.placements.

– dirkgroten
Nov 20 '18 at 14:47












1 Answer
1






active

oldest

votes


















0














You can use initial argument of the Form
https://docs.djangoproject.com/en/2.1/ref/forms/api/#django.forms.Form.initial



name = Appname.objects.get(name='name')
form = SecondForm(initial={'name': name})





share|improve this answer























    Your Answer






    StackExchange.ifUsing("editor", function () {
    StackExchange.using("externalEditor", function () {
    StackExchange.using("snippets", function () {
    StackExchange.snippets.init();
    });
    });
    }, "code-snippets");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "1"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53395087%2fi-have-two-models-and-they-are-connected-through-foriegnkey-in-my-django-project%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    0














    You can use initial argument of the Form
    https://docs.djangoproject.com/en/2.1/ref/forms/api/#django.forms.Form.initial



    name = Appname.objects.get(name='name')
    form = SecondForm(initial={'name': name})





    share|improve this answer




























      0














      You can use initial argument of the Form
      https://docs.djangoproject.com/en/2.1/ref/forms/api/#django.forms.Form.initial



      name = Appname.objects.get(name='name')
      form = SecondForm(initial={'name': name})





      share|improve this answer


























        0












        0








        0







        You can use initial argument of the Form
        https://docs.djangoproject.com/en/2.1/ref/forms/api/#django.forms.Form.initial



        name = Appname.objects.get(name='name')
        form = SecondForm(initial={'name': name})





        share|improve this answer













        You can use initial argument of the Form
        https://docs.djangoproject.com/en/2.1/ref/forms/api/#django.forms.Form.initial



        name = Appname.objects.get(name='name')
        form = SecondForm(initial={'name': name})






        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Nov 20 '18 at 14:43









        Ritesh BishtRitesh Bisht

        515




        515






























            draft saved

            draft discarded




















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53395087%2fi-have-two-models-and-they-are-connected-through-foriegnkey-in-my-django-project%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            MongoDB - Not Authorized To Execute Command

            How to fix TextFormField cause rebuild widget in Flutter

            in spring boot 2.1 many test slices are not allowed anymore due to multiple @BootstrapWith