Django admin panal

Viewed 24

When adding an element it gives an error in POST and when reading the elements it gives an error in the GET

views.py When manually adding the item here, the addition process is completed successfully without any errors from django.shortcuts import render from django.http import HttpResponse from .models import Feature # Create your views here.

def index(request):
    feature1 = Feature()
    feature1.name = 'More Fixed'

    feature2 = Feature()
    feature2.name = 'Clean Mode'

    feature3 = Feature()
    feature3.name = 'Reatready'

    feature4 = Feature()
    feature4.name = 'More...'


    features = [feature1, feature2, feature3, feature4]
  
    return render(request, 'index.html', {'features': features})
    

def counter(request):
    text = request.POST['text']
    amount_of_words = len(text.split())
    return render(request, 'counter.html', {'amount': amount_of_words})

models.py

from django.db import models

class Feature(models.Model):
    name = models.CharField(max_length=200)

admin.py Here I added the python link to HTML

from django.contrib import admin
from myapp.models import Feature


admin.site.register(Feature)

index.html

{% load static %}
<div class="col-xl-3 col-lg-3 col-md-3 col-sm-12 padding_right0">
     <ul class="easy">
         <li class="active"><a href="#">Easy to cutomize</a></li>
         {% for feature in features %}
         <li><a href="#">{{feature.name}}</a></li>
         {% endfor %}
      </ul>
</div>

POST Error: This happens when you add the item in the name field and press save

Environment:


Request Method: POST

Request URL: http://127.0.0.1:8000/admin/myapp/feature/add/

Django Version: 4.1.1
Python Version: 3.10.7
Installed Applications:
['django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'myapp']
Installed Middleware:
['django.middleware.security.SecurityMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware']



Traceback (most recent call last):
  File "C:\Users\MemO\Envs\myapp\lib\site-packages\django\db\backends\utils.py", line 89, in _execute
    return self.cursor.execute(sql, params)
  File "C:\Users\MemO\Envs\myapp\lib\site-packages\django\db\backends\sqlite3\base.py", line 357, in execute
    return Database.Cursor.execute(self, query, params)

The above exception (table myapp_feature has no column named name) was the direct cause of the following exception:
  File "C:\Users\MemO\Envs\myapp\lib\site-packages\django\core\handlers\exception.py", line 55, in inner
    response = get_response(request)
  File "C:\Users\MemO\Envs\myapp\lib\site-packages\django\core\handlers\base.py", line 197, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "C:\Users\MemO\Envs\myapp\lib\site-packages\django\contrib\admin\options.py", line 686, in wrapper
    return self.admin_site.admin_view(view)(*args, **kwargs)
  File "C:\Users\MemO\Envs\myapp\lib\site-packages\django\utils\decorators.py", line 133, in _wrapped_view
    response = view_func(request, *args, **kwargs)
  File "C:\Users\MemO\Envs\myapp\lib\site-packages\django\views\decorators\cache.py", line 62, in _wrapped_view_func
    response = view_func(request, *args, **kwargs)
  File "C:\Users\MemO\Envs\myapp\lib\site-packages\django\contrib\admin\sites.py", line 242, in inner
    return view(request, *args, **kwargs)
  File "C:\Users\MemO\Envs\myapp\lib\site-packages\django\contrib\admin\options.py", line 1890, in add_view
    return self.changeform_view(request, None, form_url, extra_context)
  File "C:\Users\MemO\Envs\myapp\lib\site-packages\django\utils\decorators.py", line 46, in _wrapper
    return bound_method(*args, **kwargs)
  File "C:\Users\MemO\Envs\myapp\lib\site-packages\django\utils\decorators.py", line 133, in _wrapped_view
    response = view_func(request, *args, **kwargs)
  File "C:\Users\MemO\Envs\myapp\lib\site-packages\django\contrib\admin\options.py", line 1750, in changeform_view
    return self._changeform_view(request, object_id, form_url, extra_context)
  File "C:\Users\MemO\Envs\myapp\lib\site-packages\django\contrib\admin\options.py", line 1802, in _changeform_view
    self.save_model(request, new_object, form, not add)
  File "C:\Users\MemO\Envs\myapp\lib\site-packages\django\contrib\admin\options.py", line 1225, in save_model
    obj.save()
  File "C:\Users\MemO\Envs\myapp\lib\site-packages\django\db\models\base.py", line 831, in save
    self.save_base(
  File "C:\Users\MemO\Envs\myapp\lib\site-packages\django\db\models\base.py", line 882, in save_base
    updated = self._save_table(
  File "C:\Users\MemO\Envs\myapp\lib\site-packages\django\db\models\base.py", line 1025, in _save_table
    results = self._do_insert(
  File "C:\Users\MemO\Envs\myapp\lib\site-packages\django\db\models\base.py", line 1066, in _do_insert
    return manager._insert(
  File "C:\Users\MemO\Envs\myapp\lib\site-packages\django\db\models\manager.py", line 85, in manager_method
    return getattr(self.get_queryset(), name)(*args, **kwargs)
  File "C:\Users\MemO\Envs\myapp\lib\site-packages\django\db\models\query.py", line 1790, in _insert
    return query.get_compiler(using=using).execute_sql(returning_fields)
  File "C:\Users\MemO\Envs\myapp\lib\site-packages\django\db\models\sql\compiler.py", line 1657, in execute_sql
    cursor.execute(sql, params)
  File "C:\Users\MemO\Envs\myapp\lib\site-packages\django\db\backends\utils.py", line 103, in execute
    return super().execute(sql, params)
  File "C:\Users\MemO\Envs\myapp\lib\site-packages\django\db\backends\utils.py", line 67, in execute
    return self._execute_with_wrappers(
  File "C:\Users\MemO\Envs\myapp\lib\site-packages\django\db\backends\utils.py", line 80, in _execute_with_wrappers
    return executor(sql, params, many, context)
  File "C:\Users\MemO\Envs\myapp\lib\site-packages\django\db\backends\utils.py", line 84, in _execute
    with self.db.wrap_database_errors:
  File "C:\Users\MemO\Envs\myapp\lib\site-packages\django\db\utils.py", line 91, in __exit__
    raise dj_exc_value.with_traceback(traceback) from exc_value
  File "C:\Users\MemO\Envs\myapp\lib\site-packages\django\db\backends\utils.py", line 89, in _execute
    return self.cursor.execute(sql, params)
  File "C:\Users\MemO\Envs\myapp\lib\site-packages\django\db\backends\sqlite3\base.py", line 357, in execute
    return Database.Cursor.execute(self, query, params)

Exception Type: OperationalError at /admin/myapp/feature/add/
Exception Value: table myapp_feature has no column named name
1 Answers

when making any change in the django models to add model you must migrate the project as described in the docs…

the migration process creates the database from the models you define in the models file…

run:

$ manage.py makemigrations
$ manage.pu migrate
Related