Django: Insert row into database

Question:

I’m new in Django. I’ve created a table by insert model into models.py.

Now, I want to insert a row into the database – table Dodavatel. I know, that I have to create an object with attributes as columns. But I don’t know where should I put this code. In models.py?

This is my model:

class Dodavatel(models.Model):
    nazov = models.CharField(default='', max_length=255)
    dostupnost = models.IntegerField(default=0)

This is the code for inserting a row:

p = Dodavatel(nazov='Petr', dostupnost=1)
p.save()

Where should I put this code?

Asked By: Milano

||

Answers:

If you only want to quick test your models you can start an interactive shell and execute your code there.

python manage.py shell

The above command starts a python interactive shell initialized with your Django project settings.

Then you can do something like:

from your_app_name.models import Dodavatel
p = Dodavatel(nazov='Petr', dostupnost=1)
p.save()

I do not recommend to use that code directly inside a view. Instead to create an item I would use a class based view like CreateView.

Answered By: Luca

For manual inserting data to table for testing purpose

Method1

enter image description here

Execute this command for creating Dodavatel in the database

 python manage.py makemigrations


 python manage.py migrate

enter image description here

Now you can see the table created in the database

enter image description here

Then type for open python project REPL:

python manage.py shell

add this code in the repl

from everych.cheese.models import Dodavatel

 dodavel = Dodavatel.objects.create(nazov="hi", dostupnost=3)

You can use python manage.py shell_plus instead of python manage.py shell.so you didn’t want to add the line from everych. cheese. models import Dodavatel it automatically imported.

here everych my project name

cheese is the application name

change as your project and application name

enter image description here

After the above code is executed data will be inserted into the table
output:-
enter image description here

Method2

Here just inserting data you must add a table using the above step.

python manage.py shell_plus

enter image description here
code

dat = Dodavatel(nazov="Petr", dostupnost=1)
dat.save()

enter image description here
Output:

enter image description here

Answered By: lava
Categories: questions Tags: , , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.