Использовать введенные данные из другой модели django - PullRequest
0 голосов
/ 04 августа 2020

У меня есть модель двух классов: Пользователь и Запрос денег. Я пытаюсь получить доступ к данным, которые я ввел в класс User, чтобы всякий раз, когда я запрашивал деньги с помощью класса MoneyRequest, я также мог ввести введенный адрес электронной почты, имя и фамилию вместе с remove_money.

Мне действительно нужно данные из класса User, так что всякий раз, когда я смотрю на страницу администратора, я вижу имя пользователя, отправившего запрос на деньги.

Вот мой 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])

Вот мои представления для моего класса MoneyRequest

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)

Что я должен поместить в свой класс MoneyRequest, чтобы получить данные, введенные в класс User? Спасибо!

1 Ответ

1 голос
/ 04 августа 2020

В вашей модели moneyrequest добавьте user = models.ForeignKey(User, on_delete=models.CASCADE) Тогда вы сможете получить все данные модели пользователя.

...