Develop a Model form for a student that contains the topic chosen for the project, languages used, and duration with a model called project

Develop a Model form for a student that contains the topic chosen for the project, languages used, and duration with a model called project

Program:-

models.py:-

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
from django.db import models
from django.forms import ModelForm
class Meeting(models.Model):
meeting_code = models.CharField(max_length=108)
meeting_dt = models.DateField(auto_now_add=True)
meeting_subject = models.CharField(max_length=100)
meeting_np = models.IntegerField()
class Course(models.Model):
course_code = models.CharField(max_length=40)
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 + ")"
class Project(models.Model):
student = models.ForeignKey(Student, on_delete=models.CASCADE)
ptopic = models.CharField(max_length=200)
planguages = models.CharField(max_length=200) # corrected field name to planguages
pduration = models.IntegerField()
class ProjectReg(ModelForm):
required_css_class = "required"
class Meta:
model = Project
fields = ['student', 'ptopic', 'planguages', 'pduration']
from django.db import models from django.forms import ModelForm class Meeting(models.Model): meeting_code = models.CharField(max_length=108) meeting_dt = models.DateField(auto_now_add=True) meeting_subject = models.CharField(max_length=100) meeting_np = models.IntegerField() class Course(models.Model): course_code = models.CharField(max_length=40) 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 + ")" class Project(models.Model): student = models.ForeignKey(Student, on_delete=models.CASCADE) ptopic = models.CharField(max_length=200) planguages = models.CharField(max_length=200) # corrected field name to planguages pduration = models.IntegerField() class ProjectReg(ModelForm): required_css_class = "required" class Meta: model = Project fields = ['student', 'ptopic', 'planguages', 'pduration']
from django.db import models
from django.forms import ModelForm

class Meeting(models.Model):
    meeting_code = models.CharField(max_length=108)
    meeting_dt = models.DateField(auto_now_add=True)
    meeting_subject = models.CharField(max_length=100)
    meeting_np = models.IntegerField()

class Course(models.Model):
    course_code = models.CharField(max_length=40)
    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 + ")"

class Project(models.Model):
    student = models.ForeignKey(Student, on_delete=models.CASCADE)
    ptopic = models.CharField(max_length=200)
    planguages = models.CharField(max_length=200)  # corrected field name to planguages
    pduration = models.IntegerField()

class ProjectReg(ModelForm):
    required_css_class = "required"

    class Meta:
        model = Project
        fields = ['student', 'ptopic', 'planguages', 'pduration']

views.py:-

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
from django.http import HttpResponse
from django.shortcuts import render
from ap3.models import Course, Meeting, ProjectReg, Student
def add_project(request):
if request.method == "POST":
form = ProjectReg(request.POST)
if form.is_valid():
form.save()
return HttpResponse("<h1>Record inserted successfully</h1>")
else:
form = ProjectReg()
return render(request, "add_project.html", {"form": form})
from django.http import HttpResponse from django.shortcuts import render from ap3.models import Course, Meeting, ProjectReg, Student def add_project(request): if request.method == "POST": form = ProjectReg(request.POST) if form.is_valid(): form.save() return HttpResponse("<h1>Record inserted successfully</h1>") else: form = ProjectReg() return render(request, "add_project.html", {"form": form})
from django.http import HttpResponse
from django.shortcuts import render
from ap3.models import Course, Meeting, ProjectReg, Student

def add_project(request):
    if request.method == "POST":
        form = ProjectReg(request.POST)
        if form.is_valid():
            form.save()
            return HttpResponse("<h1>Record inserted successfully</h1>")
    else:
        form = ProjectReg()
    return render(request, "add_project.html", {"form": form})

templates/add_project.html:-

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<html>
<form method="post" action="">
{% csrf_token %}
<table>
{{ form.as_table }}
<tr>
<td>
<input type="submit" value="Submit">
</td>
</tr>
</table>
</form>
</html>
<html> <form method="post" action=""> {% csrf_token %} <table> {{ form.as_table }} <tr> <td> <input type="submit" value="Submit"> </td> </tr> </table> </form> </html>
<html>
<form method="post" action="">
    {% csrf_token %}
    <table>
        {{ form.as_table }}
        <tr>
            <td>
                <input type="submit" value="Submit">
            </td>
        </tr>
    </table>
</form>
</html>

urls.py:-

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
from django.contrib import admin
from django.urls import path
from ap3.views import add_project
urlpatterns = [
path("admin/", admin.site.urls),
path("add_project/", add_project),
# Add other URL patterns here
]
from django.contrib import admin from django.urls import path from ap3.views import add_project urlpatterns = [ path("admin/", admin.site.urls), path("add_project/", add_project), # Add other URL patterns here ]
from django.contrib import admin
from django.urls import path
from ap3.views import add_project

urlpatterns = [
    path("admin/", admin.site.urls),
    path("add_project/", add_project),
    # Add other URL patterns here
]

Perform remigrations before running:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
python manage.py makemigrations ap3
python manage.py migrate
python manage.py makemigrations ap3 python manage.py migrate
python manage.py makemigrations ap3

python manage.py migrate

Leave a Reply

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