У меня есть модель отношений, которая отображает две модели, которые являются моим пользователем и его position
, как уже упоминалось. Здесь Emp_position
- это модель отношений.
class Position(models.Model):
position_name = models.CharField(max_length=20, unique=True)
def __str__(self):
return self.position_name
class Emp_position(models.Model):
emp_uname = models.OneToOneField(User, related_name='emp_name', to_field='username', on_delete=models.CASCADE)
position_name = models.ForeignKey(Position, related_name='position', to_field='position_name', on_delete=models.CASCADE)
def __str__(self):
return str(self.emp_uname) + " " + str(self.position_name)
Теперь для вставки данных в Emp_position мне нужен экземпляр user и Position. Я смог легко получить экземпляр пользовательской модели, используя поле user.username
, но как мне получить экземпляр позиции. Экземпляр позиции, я получаю, используя некоторую логику, используя функцию фильтра. Как получить экземпляр, функция которого помогает мне получить экземпляр с использованием некоторого условия.
Вот что я пробовал:
emp_pos = Emp_position(emp_uname = user, position_name = Position.objects.filter(position_name="COMES FROM LOGIC").first())
emp_pos.save()
Но это не сохранение модели.
РЕДАКТИРОВАТЬ: Как указано в разделе комментариев
emp_pos = Emp_position(emp_uname = user, position_name = Position.objects.filter(position_name=NewProvisionalEmployeeMail.objects.filter(email="bhatnagarpulkitpb@gmail.com").values_list('position_name')).first())
emp_pos.save()