Использую Django и reportlab для создания pdf. Отчет не работает, когда я пытаюсь включить поле, привязанное к внешнему ключу

Моя попытка сделать pdf терпит неудачу с ошибкой server500, когда я пытаюсь экспортировать поле, созданное внешним ключом. Я полагаю, что проблема заключается именно в этом, поскольку все остальные поля работают так, как ожидалось. Это же поле можно аналогичным образом экспортировать в формат csv.

в файле views.py:

def report_pdf(request):


        # Create a Bytestream buffer
        buf = io.BytesIO()
        # Create a canvas
        c = canvas.Canvas(buf, pagesize=letter, bottomup=0)
        # Create a text object
        textob = c.beginText()
        textob.setTextOrigin(inch, inch)
        textob.setFont("Helvetica", 14)

        # Designate the model
        customers = Customer.objects.all()

        lines =[]

        for customer in customers:

            lines.append(customer.address)
            lines.append(customer.address2)
            lines.append(customer.city)
            lines.append(customer.province3)
            
        # Loop

        for line in lines:
            textob.textLine(line)
        
        # Finsih up

        c.drawText(textob)
        c.showPage()
        c.save()
        buf.seek(0)

        return FileResponse(buf, as_attachment=True, filename='customer_list.pdf')

и в models.py

class Customer(models.Model):

    
    address = models.CharField(max_length=100, null=True, blank=True)
    address2 = models.CharField(max_length=100, null=True, blank=True)
    city = models.CharField(max_length=50, null=True, blank=True)
    
    province3 = models.ForeignKey(Province, null=True, blank=True, on_delete=models.PROTECT)

и зарубежная модель:

class Province(models.Model):

    province = models.CharField(max_length=2)

    def __str__(self):
        return(f"{self.province}")

Я пробовал отключить поле province3, после чего оно работает.

Правильно ли я понимаю, что это связано с тем, что в нем используется внешний ключ? Если да, то в чем может быть проблема? Я проверил журналы сайта и журналы apache, но, похоже, там нет никакой помощи.

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