1. Create a forms.py module in stockmgmgt
app folder
2. In the form.py
module, import django model formfrom django import forms
In the same form.py
module, import the Stock
model from model.py
from .models import Stock
3. Create a model form in forms.py
. Name the form StockCreateform
as shown below
class StockCreateForm(forms.ModelForm):
class Meta:
model = Stock
fields = ['category', 'item_name', 'quantity']
4. In admin.py, import the StockCreateForm
created in step 3 above from .forms import StockCreateForm
Next, create a class, name it StockCreateAdmi
, with list_display, form, list_filter, and search_field as shown below.
class StockCreateAdmin(admin.ModelAdmin):
list_display = ['category', 'item_name', 'quantity']
form = StockCreateForm
list_filter = ['category']
search_fields = ['category', 'item_name']
5. Modify your registration to apply the customization as below.
admin.site.register(Stock, StockCreateAdmin)
PS C:\Users\supunf\Desktop\DJANGO\STOCK MANAGMENT SYSTEM\src> python manage.py runserver
Watching for file changes with StatReloader
Exception in thread django-main-thread:
Traceback (most recent call last):
File “C:\Python39\lib\threading.py”, line 950, in _bootstrap_inner
self.run()
File “C:\Python39\lib\threading.py”, line 888, in run
self._target(*self._args, **self._kwargs)
File “C:\Python39\lib\site-packages\django\utils\autoreload.py”, line 64, in wrapper
fn(*args, **kwargs)
File “C:\Python39\lib\site-packages\django\core\management\commands\runserver.py”, line 110, in inner_run
autoreload.raise_last_exception()
File “C:\Python39\lib\site-packages\django\utils\autoreload.py”, line 87, in raise_last_exception
raise _exception[1]
File “C:\Python39\lib\site-packages\django\core\management\__init__.py”, line 375, in execute
autoreload.check_errors(django.setup)()
File “C:\Python39\lib\site-packages\django\utils\autoreload.py”, line 64, in wrapper
fn(*args, **kwargs)
File “C:\Python39\lib\site-packages\django\__init__.py”, line 24, in setup
apps.populate(settings.INSTALLED_APPS)
File “C:\Python39\lib\site-packages\django\apps\registry.py”, line 122, in populate
app_config.ready()
File “C:\Python39\lib\site-packages\django\contrib\admin\apps.py”, line 27, in ready
self.module.autodiscover()
File “C:\Python39\lib\site-packages\django\contrib\admin\__init__.py”, line 24, in autodiscover
autodiscover_modules(‘admin’, register_to=site)
File “C:\Python39\lib\site-packages\django\utils\module_loading.py”, line 47, in autodiscover_modules
import_module(‘%s.%s’ % (app_config.name, module_to_search))
File “C:\Python39\lib\importlib\__init__.py”, line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File “”, line 1030, in _gcd_import
File “”, line 1007, in _find_and_load
File “”, line 986, in _find_and_load_unlocked
File “”, line 680, in _load_unlocked
File “”, line 790, in exec_module
File “”, line 228, in _call_with_frames_removed
File “C:\Users\supunf\Desktop\DJANGO\STOCK MANAGMENT SYSTEM\src\stockmgmt\admin.py”, line 2, in
from .forms import StockCreateForm
ModuleNotFoundError: No module named ‘stockmgmt.forms’
Check your import statement on line 2. Make sure you spell everything right
everything i added is correct still this error.
what to do?
ModuleNotFoundError: No module named ‘models’
My Code in admin.py
from django.contrib import admin
from .forms import StockCreateForm
from .models import Stock
class StockCreateAdmin(admin.ModelAdmin):
list_display = [‘category’, ‘item_name’, ‘quantity’]
form = StockCreateForm
# list_filter = [‘category’]
# search_fields = [‘category’, ‘item_name’]
admin.site.register(Stock, StockCreateAdmin)
my code in models.py
from django.db import models
# Create your models here.
class Stock(models.Model):
category = models.CharField(max_length=50, blank=True, null=True)
item_name = models.CharField(max_length=50, blank=True, null=True)
quantity = models.IntegerField(default=’0′, blank=True, null=True)
receive_quantity = models.IntegerField(default=’0′, blank=True, null=True)
receive_by = models.CharField(max_length=50, blank=True, null=True)
issue_quantity = models.IntegerField(default=’0′, blank=True, null=True)
issue_by = models.CharField(max_length=50, blank=True, null=True)
issue_to = models.CharField(max_length=50, blank=True, null=True)
phone_number = models.CharField(max_length=50, blank=True, null=True)
created_by = models.CharField(max_length=50, blank=True, null=True)
reorder_level = models.IntegerField(default=’0′, blank=True, null=True)
last_updated = models.DateTimeField(auto_now_add=False, auto_now=True)
export_to_CSV = models.BooleanField(default=False)
def __str__(self):
return self.item_name
your admin file should be formated in this order:
from django.contrib import admin
from .forms import StockCreateForm
from .models import Stock
class StockCreateAdmin(admin.ModelAdmin):
list_display = [‘category’, ‘item_name’, ‘quantity’]
form = StockCreateForm
list_filter = [‘category’]
search_fields = [‘category’, ‘item_name’]
admin.site.register(Stock, StockCreateAdmin)
still i am not able to run the code
please change
from .forms import StockCreateForm
TO
from .form import StockCreateForm
thank you for helping
i have a problem
Watching for file changes with StatReloader
Exception in thread Thread-1:
Traceback (most recent call last):
File “/usr/lib/python3.5/threading.py”, line 914, in _bootstrap_inner
self.run()
File “/usr/lib/python3.5/threading.py”, line 862, in run
self._target(*self._args, **self._kwargs)
File “/home/thierry/Documents/delas_env/venv/lib/python3.5/site-packages/django/utils/autoreload.py”, line 54, in wrapper
fn(*args, **kwargs)
File “/home/thierry/Documents/delas_env/venv/lib/python3.5/site-packages/django/core/management/commands/runserver.py”, line 109, in inner_run
autoreload.raise_last_exception()
File “/home/thierry/Documents/delas_env/venv/lib/python3.5/site-packages/django/utils/autoreload.py”, line 77, in raise_last_exception
raise _exception[0](_exception[1]).with_traceback(_exception[2])
File “/home/thierry/Documents/delas_env/venv/lib/python3.5/site-packages/django/utils/autoreload.py”, line 54, in wrapper
fn(*args, **kwargs)
File “/home/thierry/Documents/delas_env/venv/lib/python3.5/site-packages/django/__init__.py”, line 24, in setup
apps.populate(settings.INSTALLED_APPS)
File “/home/thierry/Documents/delas_env/venv/lib/python3.5/site-packages/django/apps/registry.py”, line 122, in populate
app_config.ready()
File “/home/thierry/Documents/delas_env/venv/lib/python3.5/site-packages/django/contrib/admin/apps.py”, line 24, in ready
self.module.autodiscover()
File “/home/thierry/Documents/delas_env/venv/lib/python3.5/site-packages/django/contrib/admin/__init__.py”, line 26, in autodiscover
autodiscover_modules(‘admin’, register_to=site)
File “/home/thierry/Documents/delas_env/venv/lib/python3.5/site-packages/django/utils/module_loading.py”, line 47, in autodiscover_modules
import_module(‘%s.%s’ % (app_config.name, module_to_search))
File “/usr/lib/python3.5/importlib/__init__.py”, line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File “”, line 986, in _gcd_import
File “”, line 969, in _find_and_load
File “”, line 958, in _find_and_load_unlocked
File “”, line 673, in _load_unlocked
File “”, line 665, in exec_module
File “”, line 222, in _call_with_frames_removed
File “/home/thierry/Documents/delas_env/venv/src/stockmgmt/admin.py”, line 2, in
from .forms import StockCreationForm
File “/home/thierry/Documents/delas_env/venv/src/stockmgmt/forms.py”, line 7, in
class StockCreationForm(forms.ModelForm):
File “/home/thierry/Documents/delas_env/venv/src/stockmgmt/forms.py”, line 8, in StockCreationForm
class Meta:
File “/home/thierry/Documents/delas_env/venv/src/stockmgmt/forms.py”, line 10, in Meta
fields [‘category’,’item_name’,’quantity’]
TypeError: ‘module’ object is not subscriptable
stock) root@kali:~/stock/Src# python manage.py runserver
Watching for file changes with StatReloader
Exception in thread Thread-1:
Traceback (most recent call last):
File “/usr/lib/python3.9/threading.py”, line 973, in _bootstrap_inner
self.run()
File “/usr/lib/python3.9/threading.py”, line 910, in run
self._target(*self._args, **self._kwargs)
File “/root/stock/lib/python3.9/site-packages/django/utils/autoreload.py”, line 54, in wrapper
fn(*args, **kwargs)
File “/root/stock/lib/python3.9/site-packages/django/core/management/commands/runserver.py”, line 109, in inner_run
autoreload.raise_last_exception()
File “/root/stock/lib/python3.9/site-packages/django/utils/autoreload.py”, line 77, in raise_last_exception
raise _exception[0](_exception[1]).with_traceback(_exception[2])
File “/root/stock/lib/python3.9/site-packages/django/utils/autoreload.py”, line 54, in wrapper
fn(*args, **kwargs)
File “/root/stock/lib/python3.9/site-packages/django/__init__.py”, line 24, in setup
apps.populate(settings.INSTALLED_APPS)
File “/root/stock/lib/python3.9/site-packages/django/apps/registry.py”, line 122, in populate
app_config.ready()
File “/root/stock/lib/python3.9/site-packages/django/contrib/admin/apps.py”, line 24, in ready
self.module.autodiscover()
File “/root/stock/lib/python3.9/site-packages/django/contrib/admin/__init__.py”, line 26, in autodiscover
autodiscover_modules(‘admin’, register_to=site)
File “/root/stock/lib/python3.9/site-packages/django/utils/module_loading.py”, line 47, in autodiscover_modules
import_module(‘%s.%s’ % (app_config.name, module_to_search))
File “/usr/lib/python3.9/importlib/__init__.py”, line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File “”, line 1030, in _gcd_import
File “”, line 1007, in _find_and_load
File “”, line 986, in _find_and_load_unlocked
File “”, line 680, in _load_unlocked
File “”, line 850, in exec_module
File “”, line 228, in _call_with_frames_removed
File “/root/stock/Src/stocksys/admin.py”, line 6, in
class StockCreateAdmin(admin.ModelAdmin):
File “/root/stock/Src/stocksys/admin.py”, line 11, in StockCreateAdmin
admin.site.register(Stock, StockCreateAdmin)
NameError: name ‘StockCreateAdmin’ is not defined
please I need help..
this is what is showing me..
stock) root@kali:~/stock/Src# python manage.py runserver
Watching for file changes with StatReloader
Exception in thread Thread-1:
Traceback (most recent call last):
File “/usr/lib/python3.9/threading.py”, line 973, in _bootstrap_inner
self.run()
File “/usr/lib/python3.9/threading.py”, line 910, in run
self._target(*self._args, **self._kwargs)
File “/root/stock/lib/python3.9/site-packages/django/utils/autoreload.py”, line 54, in wrapper
fn(*args, **kwargs)
File “/root/stock/lib/python3.9/site-packages/django/core/management/commands/runserver.py”, line 109, in inner_run
autoreload.raise_last_exception()
File “/root/stock/lib/python3.9/site-packages/django/utils/autoreload.py”, line 77, in raise_last_exception
raise _exception[0](_exception[1]).with_traceback(_exception[2])
File “/root/stock/lib/python3.9/site-packages/django/utils/autoreload.py”, line 54, in wrapper
fn(*args, **kwargs)
File “/root/stock/lib/python3.9/site-packages/django/__init__.py”, line 24, in setup
apps.populate(settings.INSTALLED_APPS)
File “/root/stock/lib/python3.9/site-packages/django/apps/registry.py”, line 122, in populate
app_config.ready()
File “/root/stock/lib/python3.9/site-packages/django/contrib/admin/apps.py”, line 24, in ready
self.module.autodiscover()
File “/root/stock/lib/python3.9/site-packages/django/contrib/admin/__init__.py”, line 26, in autodiscover
autodiscover_modules(‘admin’, register_to=site)
File “/root/stock/lib/python3.9/site-packages/django/utils/module_loading.py”, line 47, in autodiscover_modules
import_module(‘%s.%s’ % (app_config.name, module_to_search))
File “/usr/lib/python3.9/importlib/__init__.py”, line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File “”, line 1030, in _gcd_import
File “”, line 1007, in _find_and_load
File “”, line 986, in _find_and_load_unlocked
File “”, line 680, in _load_unlocked
File “”, line 850, in exec_module
File “”, line 228, in _call_with_frames_removed
File “/root/stock/Src/stocksys/admin.py”, line 6, in
class StockCreateAdmin(admin.ModelAdmin):
File “/root/stock/Src/stocksys/admin.py”, line 11, in StockCreateAdmin
admin.site.register(Stock, StockCreateAdmin)
NameError: name ‘StockCreateAdmin’ is not defined