Как получить данные из полей модели в django?

Я сделал форму регистрации пациента. Я добавил двух пациентов в базу данных. И я хочу сохранить информацию о каждом пациенте в текстовый файл. И я хочу, чтобы все txt файлы имели одинаковое имя. Поэтому я использую этот код для сохранения txt-файла;

file_name должно быть имя каждого пациента, и у меня проблема в этой строке... Я не фильтровал и не извлекал данные из модели

def deneme(request):
    
    dir_path = Path('/Users/emr/Desktop/ngsaglik/homeo/patient/templates/kayitlar')
    file_name = str(Post.objects.get(???)) # i wanna pull each patient name as a txt file name


    f = open (dir_path.joinpath(file_name),'w')
    testfile = File(f)

    kayitlar = Post.objects.all()
    lines = []
    for kayit in kayitlar:
        lines.append(f'{kayit.soru1}\n{kayit.soru2}\n')

    testfile.write(str(lines))
    testfile.close
    f.close
    return HttpResponse()

my models.py

from django.db import models
from django.contrib.auth.models import User
from django.urls import reverse
#from datetime import datetime, date

class Post(models.Model):
    
    
    name = models.CharField(verbose_name='Ad Soyad',max_length=10000, default="")
    surname = models.CharField(verbose_name='Tarih', max_length=10000, default="")
    soru3 = models.CharField(verbose_name='Doğum Tarihi', max_length=10000, default="")
    soru4 = models.CharField(verbose_name='Doğum Yeri', max_length=10000, default="")
    soru5 = models.CharField(verbose_name='Medeni Hali', max_length=10000, default="")

Переберите все объекты Post и создайте новый файл для каждого из них.

def deneme(request):
    
    dir_path = Path('/Users/emr/Desktop/ngsaglik/homeo/patient/templates/kayitlar')

    kayitlar = Post.objects.all()

    for kayit in kayitlar:

        file_name = str(kayit.name)
        f = open (dir_path.joinpath(file_name),'w')

        testfile = File(f)

        lines = []
        lines.append(f'{kayit.soru1}\n{kayit.soru2}\n')

        testfile.write(str(lines))
        testfile.close
        f.close
    
    return HttpResponse()
Вернуться на верх