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

У меня есть таблица в models.py с именем класса registration и еще одна таблица profileimage с отношением иностранного ключа к модели регистрации. Теперь я хочу получить подтверждение адреса электронной почты с помощью таблицы profileimage

models.py

class Registration(models.Model):

YourName = models.CharField(max_length=30)
Email = models.EmailField(max_length=254,verbose_name='email')
password = models.CharField(max_length=254,verbose_name='password',null=True)
PhoneNumber = models.IntegerField(null=True,verbose_name='email')
CompanyName = models.CharField(max_length=30)
WebSiteName = models.CharField(max_length=30)
NumberOfEmplyes = models.IntegerField(null=True)
YourRoleInCompany = models.CharField(max_length=100)
SoftwareUsedBefore = models.CharField(max_length=30)
Turnout2017 = models.IntegerField(null=True)
Turnover2016 = models.IntegerField(null=True)
Description = models.CharField(max_length=30)
ClientArgument = models.CharField(max_length=2000,null=True)
PaymentsPlan = models.CharField(max_length=100,null=True)




class ProfileImages(models.Model):

MemeberName = models.OneToOneField('Registration',on_delete=models.CASCADE,blank=True)
profile_image = models.ImageField(upload_to='media/profile_image',default=True,null=True)

def __str__(self):
    return "user profile image"

теперь, например, у меня есть адрес электронной почты, который я получаю из сеансов, например, example@stack.com теперь я хочу использовать это письмо для заполнения записи таким образом.

profile_image = ProfileImages.objects.filter (Registration__Email = email) .select_related ()

, дайте мне знать, как именно выполнить этот запрос

Ответы [ 2 ]

0 голосов
/ 04 марта 2020

Думаю, я бы сделал это следующим образом

class ProfileImages(models.Model):
    profile_image = models.ImageField(upload_to='profile_image',blank=True,null=True)

...

И в Регистрации

class Registration(models.Model):
    YourName = models.CharField(max_length=30)
    Email = models.EmailField(max_length=254,verbose_name='email')
    ....
    image_profile = models.ForeignKey(
    ProfileImages, verbose_name='Profile Image', on_delete=models.CASCADE, blank=True, null=True)

Обратите внимание, что слово 'media' в upload_to лучше определить в настройках .py

0 голосов
/ 04 марта 2020

ProfileImages.objects.get (MemeberName__email = электронная почта)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...