How can I get a current user?



  • Data should be kept from the form in the OBD system, and in the submission there is a field owner = models.ForeignKey(User,on_delete=CASCADE, related_name="bid")I mean, I need to point out the current user, and I'm trying to make a point. defaultbut how do I get the ID of the current user? The user is thus created with the help of AbstractUser: class User(AbstractUser)

    Models.py

    class Auctions(models.Model):
       owner = models.ForeignKey(User,on_delete=CASCADE, related_name="bid", default=f"{**ID текущего пользователя**}")
       product_name = models.CharField(max_length=64)
       product_description = models.CharField(max_length=500)
       product_bid = models.IntegerField()
       image_url = models.CharField(max_length=100, default="Str")
       def __str__(self):
          return f"Product name: {self.product_name}, {self.product_description}, current bid:{self.product_bid}"
    

    Views.py

    def create_auction(request):
    error = ""
    if request.method== "POST":
        form = AuctionsForm(request.POST)
        if form.is_valid():
            form.save()
            return HttpResponseRedirect(reverse("index"))
        else: 
            error = "Valid data"
    form = AuctionsForm
    data = {
        "form":form
    }
    return render(request, "auctions/new_auction.html", data)
    

    Maybe there's a better method than this to keep data, I'll be grateful for help.



  • def create_auction(request):
        if request.method== "POST" and request.user.is_authenticated:
            form = AuctionsForm(request.POST)
            if form.is_valid():
                candidate = form.save(commit=False) # это нужно чтобы объект в модели создался, но зависимости пока не проверялись 
                candidate.owner = request.user 
                candidate.save()
                return HttpResponseRedirect(reverse("index"))
    

    You don't have to picture the user in the hat, but you need to add a hidden field.

    {{ form.owner.as_hidden }}
    



Suggested Topics

  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2