KJ_
KJ_

Reputation: 11

Use entered data from another django model

I have two class model, the User and Money Request. I am trying to access the data I entered in the User class so that whenever I requested money using the MoneyRequest class, I can also input my entered email, first and last name together with the withdraw_money.

I really need the data from the User class so that whenever I look at the admin page, I can see the name of the user who sent the money request.

Here is my models.py

class User(AbstractBaseUser, PermissionsMixin):
   email = models.EmailField(unique=True)
   username = models.CharField(max_length=100, unique=True)
   first_name = models.CharField(max_length=100, blank=True, null=True)
   last_name = models.CharField(max_length=100, blank=True, null=True)

class MoneyRequest(models.Model):
   date_requested = models.DateTimeField(auto_now_add=True)
   withdraw_money = models.DecimalField(null=True, blank=True, max_digits=8, decimal_places=2, help_text='Minimum withdrawal is ₱300.00.', validators=[minimum_money])

Here is my views for my MoneyRequest class

class UserAccountsView(CreateView):
   model = MoneyRequest
   fields = ['withdraw_money',] # Keep listing whatever fields
   template_name = 'users/accounts.html'

   def form_valid(self, form):
      user = form.save()
      user.save()
      return redirect('users:user_account', self.request.user.username)

What should I put in my MoneyRequest class in order to get the data entered in the User class? Thank you!

Upvotes: 0

Views: 180

Answers (1)

noob
noob

Reputation: 138

In your moneyrequest model add user = models.ForeignKey(User, on_delete=models.CASCADE) Then you can get all User model data.

Upvotes: 1

Related Questions