Put user id in your Entity table it will be user has one Entity one to one
.In the view u just retrieve the Entity id related to that user.

On Wed, Feb 5, 2020, 2:30 PM bobo michel <[email protected]> wrote:

> Hi all,
>
> I am struggling with a piece of code for a few days now and thought I'll
> seek for advice.
>
> Here is the storyline:
>
> I have a user, who enter invoices on the database based on the Invoices
> model. Each invoice is linked to an Entity. The user does not have any link
> to either the Invoice or the Entity.
>
> When the Entity user owner access their side of the website, I would like
> to display Invoices which belong to the Entity.
>
> Now my problem is that I can pass a entity when the invoice inputting form
> is submitted to the database but I cannot filter on the entity specifically.
>
> I want to be able to have a following:
>
> If Entity Y is selected, invoice 123 to be stored as linked to Entity Y
> If Entity X is selected, invoice 456 to be stored as linked to Entity X.
>
> Below is the code which works to save the Invoice input into the Invoice
> model but only with the first Entity in the Entity model. I would like to
> make it dynamic and not to hard code the Entity ID in the program.
>
> Views.py:
>
> def claim_details(request):                                         #save the 
> invoice onto DB
>     form = forms.SaveInvoice(request.POST)
>     user = request.user.id
>     if request.method == 'POST':
>         if form.is_valid():
>             instance = form.save(commit=False)
>             inv = Entity.objects.all()
>             print(inv)
>             instance.entity_name = inv
>             print(inv)
>             instance.save()
>             forms.SaveInvoice()
>
>         return redirect('accounts:claim')
>     else:
>         form = forms.SaveInvoice()
>     args = {'form': form}
>     return render(request, 'dashboard/claim_details.html', args)
>
>
> Models.py
>
> class Entity(models.Model):
>     contact = models.ForeignKey(User, default=None, on_delete=models.CASCADE)
>     company_name = models.CharField(max_length=40, blank=False, null=True)
>     vat_registration = models.CharField(max_length=12, blank=False, null=True)
>     street_number = models.CharField(max_length=10, blank=False, null=True)
>     street_name = models.CharField(max_length=100, blank=False, null=True)
>     post_code = models.CharField(max_length=10, blank=False, null=True)
>     city = models.CharField(max_length=40, blank=False, null=True)
>     country = models.CharField(max_length=60, blank=False, null=True)
>     email = models.EmailField(max_length=240, blank=False, null=True)
>
>     class Meta:
>         verbose_name_plural = "Entities"
>
>     def __str__(self):
>         return self.company_name
>
>
> class Invoices(models.Model):
>     invoice_number = models.CharField(max_length=12, blank=False, null=True)
>     invoice_date = models.DateField()
>     invoice_code = models.CharField(max_length=10, blank=False, null=True)
>     client_ref = models.CharField(max_length=10, null=True)
>     supplier = models.ForeignKey(Suppliers, default=None, 
> on_delete=models.CASCADE)
>     net_amount = models.FloatField()
>     vat_paid = models.FloatField()
>     vat_reclaimed = models.FloatField()
>     invoice_type = models.CharField(max_length=10, blank=False, null=True) # 
> should really be something with choices but for now it will do.
>     entity_name = models.ForeignKey(Entity, blank=True, null=True, 
> default=None, on_delete=models.CASCADE)
>
>     class Meta:
>         verbose_name_plural = "Invoices"
>
>     def __str__(self):
>         return self.invoice_type
>
>
>
> I would like the entity_name ID field to be parsed depending on which
> entity is logged in the system.
>
> here is the another view I use to display the details of a current Entity
> in my dashboard - Entity is linked to the user who created the entity.
>
> @login_required()
> def client_details(request):
>     user = request.user
>     company = Entity.objects.filter(contact_id=user.id)
>     print(company)
>     print(user.id)
>     context = {'companies': company}
>     return render(request, 'dashboard/client_details.html', context)
>
>
> Anyway, your help here will be much appreciated and if someone who is
> knowledgeable enough will be ok to do a skype call with me to explain to me
> I'd be very grateful.
>
> Thanks
>
> Jay
>
> --
> 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 [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/django-users/ce7f4a92-e8e4-4837-9309-2ebdf243484a%40googlegroups.com
> <https://groups.google.com/d/msgid/django-users/ce7f4a92-e8e4-4837-9309-2ebdf243484a%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/CAMeub5NVqmqY%2Bi%3DroNTrcqZONbWKQcbiaHjr3kk11mKkp_EZ4w%40mail.gmail.com.

Reply via email to