Как я могу передать экземпляр в docxtpl во фреймворке django?

У меня есть модель с отношениями, такими как ForeignKey, ManyToManyField и метод модели для вычисления чего-либо. Когда я запрашиваю данные из базы данных, я получаю экземпляр. Я хочу передать экземпляр в docxtpl, потому что это быстро в разработке.

пример кода в models.py

class Customer(models.Model): 
    uuid = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
    name = models.CharField(max_length=50,,null=True,blank=True)
    birthdate = models.DateField(max_length=100,null=True,blank=True)
    status = models.ForeignKey('status ',on_delete=models.CASCADE)
    something = models.ManyToManyField('Something',blank=True)


    def get_age(self):
        diff = relativedelta(datetime.date.today(),self.birthdate )
        return diff

пример кода в generate_docx.py. Я знаю, что doc.render() требует словарь, но я хочу передать место, потому что его легко использовать в template.docx

from docxtpl import DocxTemplate

def generate_document(instance):
    doc = DocxTemplate("template.docx")
    doc.render(instance)
    doc.save("generated_doc.docx")


# example generate docx
customer = Customer.objects.get(uuid="UUID_CUSTOMER")
generate_document(customer)

пример шаблона.docx

  Lorem Ipsum is simply dummy text of the printing and typesetting industry.
  {{customer.name}} age {{customer.geta_age}}
  {% for c in customer.somthing.all %}
     {{c}}
  {% endfor %}

Я хочу знать, как передать экземпляр в docxtpl или преобразовать экземпляр, который имеет отношения и метод модели в dict использовать для docxtpl в совместимости. спасибо за эксперта

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