I want to write all model fields to a text file but I am getting:How can I fix this? I am making a patient registration form and after registration I want to see all the model fields in the text file. The code works, I am getting a text file but instead of the expected value I am seeing a deferredattribute. Where is my fault?
This is my model.py
from django.db import models
from django.contrib.auth.models import User
from django.urls import reverse
class Post(models.Model):
soru1 = models.CharField(verbose_name='Ad Soyad',max_length=10000, default="")
soru2 = 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="")
This is my views.py:
from django.shortcuts import render
from django.views.generic import ListView, DetailView, CreateView, UpdateView, DeleteView
from .models import Post
from .forms import PostForm
from django.urls import reverse_lazy
from django.db.models import Q
from django.http import HttpResponse
from django.core.files import File
#Dosya Kaydetme
def writetofile(request):
f = open('/Users/emr/Desktop/ngsaglik/homeo/patient/templates/kayitlar/test.txt', 'w')
textfile = File(f)
kayitlar = Post.objects.all()
lines = []
for kayit in kayitlar:
lines.append(f'{Post.soru1}')
textfile.write(str(lines))
textfile.close
f.close
return HttpResponse()
And here is the result:
['<django.db.models.query_utils.DeferredAttribute object at 0x1069ce0d0>', '<django.db.models.query_utils.DeferredAttribute object at 0x1069ce0d0>']
You have to change Post.soru1
to kayit.soru1
. It is because Post
is call to the class, not instance you want to get in this case, that's why it shows only the model field instead of an instance's value.
kayitlar = Post.objects.all()
here you assigned the all existing instances of Post
model to variable kayitlar
. Now you can forget about Post
and process further the kayitlar
variable with all objects.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With