Sunday, November 20, 2016

Re: How to create a django model for a resume/CV app

Thanks! I know it's been covered in the official django poll tutorial.

But how do I let users to do that without django admin? I probably will have an URL like: example.com/cv/create and only logged in users will be able to create their cv.
I am not sure how to set up the view so that users can create new cv.

I know class based view. But in my cv app, each user can have one CV, each CV can have one or more precious job and each CV can have one or more education entries.
So I can't actually use class based view here because a CV needs more than one class, right?

My questions are:
1) Is this the right set up in terms of the relationship for a CV app?
2) How can I let users create a CV with multiple related objects without user django admin.

This is my models.py. Is this the right way to set up the relationship of a CV??

> class Resume(models.Model): 
>     about = models.TextField(max_length=500) 
>     applicant = models.ForeignKey(User) 


> class Education(models.Model): 
>     resume = models.ForeignKey(Resume) 
>     school = models.CharField(max_length=100) 
>     course = models.CharField(max_length=100) 
>     start_date = models.DateField(blank=True, null=True) 
>     end_date = models.DateField(blank=True, null=True) 

> class Job(models.Model): 
>     resume = models.ForeignKey(Resume) 
>     title = models.CharField(max_length=100) 
>     company = models.CharField(max_length=100) 
>     start_date = models.DateField(blank=True, null=True) 
>     end_date = models.DateField(blank=True, null=True) 



On Sunday, 6 November 2016 22:05:16 UTC+1, ludovic coues wrote:
If you are using the default django admin, you can use inline model
admins [1]. The django's tutorial covert this point with polls'
questions having many possible choice in part 7 [2]

[1] https://docs.djangoproject.com/en/1.10/ref/contrib/admin/#inlinemodeladmin-objects
[2] https://docs.djangoproject.com/en/1.10/intro/tutorial07/#adding-related-objects

2016-11-06 15:11 GMT+01:00 ronronald97 via Django users
<django...@googlegroups.com>:
> Hi,
>
> I am rather new to django and not sure how to set up the relationship for
> all the fields of a resume app.
>
> Let's say each user can have 1 or more resume. In each Resume, there is a
> introduction/about, 1 or more education entries and 1 or more previous job
> entries.
> Is this correct?
>
> class Resume(models.Model):
>     about = models.TextField(max_length=500)
>     applicant = models.ForeignKey(User)
>
>
> class Education(models.Model):
>     school = models.CharField(max_length=100)
>     course = models.CharField(max_length=100)
>     Resume = models.ForeignKey(Resume)
>     start_date = models.DateField(blank=True, null=True)
>     end_date = models.DateField(blank=True, null=True)
>
> class Job(models.Model):
>     title = models.CharField(max_length=100)
>     company = models.CharField(max_length=100)
>     Resume = models.ForeignKey(Resume)
>     start_date = models.DateField(blank=True, null=True)
>     end_date = models.DateField(blank=True, null=True)
>
> What should I do in the view or form to let user to add more education or
> job fields?
> Or I could only set it up certain amount of entries for each model, for
> example 3 eduction entries and 5 previous jobs.
> Is there anyway I can do that dynamically so I can just start with 1 for
> each model and let the user add more if they need to?
>
> Thanks
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "Django users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to django-users...@googlegroups.com.
> To post to this group, send email to django...@googlegroups.com.
> Visit this group at https://groups.google.com/group/django-users.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/django-users/c23fc997-b723-4987-9be7-eb352f88814b%40googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.



--

Cordialement, Coues Ludovic
+336 148 743 42


 

--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscribe@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/12e86877-ea02-4a8c-b05f-874ef43746b0%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

No comments:

Post a Comment