For student and course models created in Module 2, register admin interfaces, perform migrations, and illustrate data entry through admin forms

For student and course models created in Module 2, register admin interfaces, perform migrations, and illustrate data entry through admin forms

Program:-

python manage.py createsuperuser 

admin.py:-

# admin.py
from django.contrib import admin
from ap3.models import Course, Student

@admin.register(Student)
class StudentAdmin(admin.ModelAdmin):
    list_display = ('student_name', 'student_usn', 'student_sem')
    ordering = ('student_name',)
    search_fields = ('student_name',)

admin.site.register(Course)

urls.py:-

# urls.py
from django.contrib import admin
from django.urls import path, re_path

from ap3.views import course_search

admin.site.site_header = "TAS Site Header"
admin.site.site_title = "TAS Site Title"
admin.site.index_title = "TAS Site Index"

urlpatterns = [
    path('admin/', admin.site.urls),
    path('course_search/', course_search),
]

models.py:-

from django.db import models

class Meeting(models.Model):
    meeting_code = models.CharField(max_length=100)
    meeting_dt = models.DateField(auto_now_add=True)
    meeting_subject = models.CharField(max_length=168)
    meeting_room = models.IntegerField()  # I assume you meant meeting_room instead of meeting_np

class Course(models.Model):
    course_code = models.CharField(max_length=4)
    course_name = models.CharField(max_length=100)
    course_credits = models.IntegerField(blank=True, null=True)

    def __str__(self):
        return self.course_name

class Student(models.Model):
    student_usn = models.CharField(max_length=20)
    student_name = models.CharField(max_length=100)
    student_sem = models.IntegerField()
    enrolment = models.ManyToManyField(Course)

    def __str__(self):
        return self.student_name + " (" + self.student_usn + ")"

Perform remigrations before running:

python manage.py makemigrations ap3
python manage.py migrate

Leave a Reply

Your email address will not be published. Required fields are marked *