Получение внешнего ключа модели Django

Я хочу подтвердить существование моего ForeignKey в клиентском приложении.

Структура клиентского приложения:

Проект

Client model.py

Client model.py Код:

class Client(models.Model):
    primary_key = models.AutoField(primary_key=True)
    unique_num = models.TextField(max_length=30)
    name = models.TextField(max_length=30, default='Name Not Found')
    number = models.TextField(max_length=30)
    email = models.EmailField()

Структура почтового приложения:

Проект

Email

model.py

Client model.py Код:

class ScheduledEmail(models.Model):
    primary_key = models.AutoField(primary_key=True)
    recipient_name = models.TextField()
    subject = models.TextField()
    message = models.TextField()
    datetime_sent = models.TextField(max_length=20, default='Not Yet Sent')
    datetime_created = models.TextField(max_length=20)
    recipient_email = models.EmailField(max_length=50, default='Email Not Found')
    sent = models.BooleanField(default=False)
    recipient = models.ForeignKey(Client,
                                  on_delete=models.CASCADE,
                                  related_name='scheduled_emails_sent')

Если я понял, что вы хотите создать отношения "один к одному" для моделей client и email, вы можете сделать это, поместив на одну из двух моделей дополнительный атрибут models.OneToOneField.

пример:

class Client(models.Model):
    primary_key = models.AutoField(primary_key=True)
    unique_num = models.TextField(max_length=30)
    name = models.TextField(max_length=30, default='Name Not Found')
    number = models.TextField(max_length=30)




class ScheduledEmail(models.Model):
    recipient_name = models.TextField()
    subject = models.TextField()
    message = models.TextField()
    datetime_sent = models.TextField(max_length=20, default='Not Yet Sent')
    datetime_created = models.TextField(max_length=20)
    recipient_email = models.EmailField(max_length=50, default='Email Not 
      Found')
    sent = models.BooleanField(default=False)
    recipient = models.ForeignKey(Client,
                              on_delete=models.CASCADE,
                              related_name='scheduled_emails_sent')
    client = models.OneToOneField(
        Client,
        on_delete=models.CASCADE,
        primary_key=True,
    )

Вы также можете проверить раздел One to One в документации Django.

Вернуться на верх