Как дважды соединить одну модель с другой моделью?

В моем проекте есть две модели. Это будет небольшое и простое приложение для отправки тикетов в службу поддержки.
Первая модель предназначена для авторов постов/тикетов

class Autor(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE, unique=True)
    service_group = models.BooleanField(default=False)
    active = models.BooleanField(default=True)

    def __str__(self):
        return self.user.username

Второе - для билетов. Это будет только часть, но вы поймете, что я имею в виду...

class Ticket(models.Model):
    added_date = models.DateField('added date') 
    added_time = models.TimeField('added time')
    topic = models.CharField(max_length=400, unique=False) 
    description = models.TextField() 
    post_author = models.ForeignKey(Author, on_delete=models.CASCADE, related_name='post_author')
    status = models.ForeignKey(Status, on_delete=models.CASCADE, default=1)   
    open_date = models.DateField('open date', default='1900-01-01')  
    open_time = models.TimeField('open time', default='00:00') 
    service = models.ForeignKey(Author, on_delete=models.CASCADE, related_name='service') 
    close_date = models.DateField('close date', default='1900-01-01') 
    close_time = models.TimeField('close time', default='00:00')

    def __str__(self):
        return self.topic

Однако, таким образом, подключение модели Author не работает.

Cannot assign "1": "Ticket.service" must be a "Author" instance.

Пожалуйста, помогите мне правильно подключить его, чтобы он работал.

я думаю, что ваша ошибка заключается в том, что в модели Ticket вместо экземпляра author вводится значение id, если хотите использовать id, попробуйте этот пример для вставки сервиса с id:

Ticket(service_id="your data id")

или использовать экземпляр, как в этом примере:

get_author = Autor.objects.get(id="author id")
Ticket(service=get_author)
Вернуться на верх