Why serializer data empty?

Hi, I’m trying to use serializers but for some reason the output of serializer is empty. I really don’t understand why.

This is my views.py:

from django.shortcuts import render
from django.http import HttpResponse
from .models import Entry

from django.core import serializers
from django.forms.models import model_to_dict

def home (request):
	return render (request, 'home.html')
	
def serialize_data (request):
	par = request.GET
	
	name = par['name']
	lang = par['lang']
	wordtype = par['wordtype']
	
	entry = Entry (name, lang, wordtype)
	one_more_entry = Entry ("something else", "en", "s")
	
	data = serializers.serialize('json', Entry.objects.all(), many=True)
		
	print (data)
	return HttpResponse (data)

This is my models.py:

from django.db import models
from django.core import serializers

class Entry (models.Model):

   name = models.CharField(max_length=200)
   lang = models.CharField(max_length=2)
   wordtype = models.CharField(max_length=5)

   def __init__ (self, name, lang, wordtype):
      self.name = name
      self.lang = lang
      self.wordtype = wordtype

You’re created two local Entry objects, but you haven’t saved them to the database yet.

You can verify this by running this subset of your code in the interactive Django shell:

entry = Entry ("something", "en", "s")
one_more_entry = Entry ("something else", "en", "s")
Entry.objects.all() # doesn't show anything
entry.save()
one_more_entry.save()
Entry.objects.all()  # Now shows two entries
		

thank you!

One more question. How can I get the whole object including “inside” objects? In the following example Entry.objects.all() doesn’t include the Property object. Is there a way how to get Entry + Property together?

class Entry(models.Model):
		
	name = models.CharField(max_length=200)
	lang = models.CharField(max_length=2)
	wordtype = models.CharField(max_length=5)

	def get_or_create (self, name, lang, wowdtype):
		self.name = name
		self.lang = lang
		self.wordtype = wordtype
		

	class Property:
		text = models.TextField()
		note = models.TextField()
		internal_note = models.TextField()
		reference = models.TextField()
			
		def get_or_create (self, text = '', note = '', internal_note = '', reference = ''):
			self.text = text
			self.note = poznamka
			self.internal_note = internal_note
			self.reference = reference

def save_and_load_data (request):
	par = request.GET
	name = par['name']
	lang = par['lang']
	wordtype = par['wordtype']
		
	entry, created = Entry.objects.get_or_create (name=name, lang=lang, wordtype=wordtype)
	
	entry.Property.get_or_create (entry, text = 'some text', note = 'some note')
	
	data = serializers.serialize('json', Entry.objects.all())
	
	print (data)
	return HttpResponse (data)

This isn’t how you create or access related fields.

From looking at what you’ve got posted, I think there are some more fundamental concepts you may benefit from working through.

Have you worked your way through either of the Django Tutorial or the Django Girls Tutorial? In particular, focus on how models are create and how they’re linked together.