Мой код работает, но не сохраняется в базе данных. Я хотел бы знать, откуда проблема. Тем не менее, я устал изо всех сил в проверке на ошибку. Я получаю сообщение об успехе после отправки. Пожалуйста, помогите решить проблему. Вы можете видеть из рисунка ниже, прикрепленного с вопросом.
models.py
class Info(models.Model):
MASJID_TYPE = (
('Ratibi', 'Ratibi'),
('Jummah Masjid', 'Jummah Masjid'),
('Central Masjid', 'Central Masjid'),
)
SECT = (
('Al-Sunnah', 'Al-Sunnah'),
('Salafee', 'Salafee'),
('Sufi', 'Sufi'),
('Ahamadiyah', 'Ahamadiyah'),
)
STATUS = (
('Completed', 'Complete'),
('Un-Completed', 'Un-Completed'),
('Proposed', 'Proposed'),
)
user = models.ForeignKey(CustomUser, on_delete=models.CASCADE)
name = models.CharField(max_length=100)
masjid_type = models.CharField(max_length=50, choices=MASJID_TYPE)
address = models.TextField()
sect = models.CharField(max_length=250, choices=SECT)
state = models.CharField(max_length=50)
city = models.CharField(max_length=50)
LGA = models.CharField(max_length=50)
status = models.CharField(max_length=150, choices=STATUS)
history = models.TextField(blank=False, null=False)
founder = models.DateField("Founder Year", blank=False, null=False)
latitude = models.FloatField(max_length=20, blank=False, null=False)
longitude = models.FloatField(max_length=20, blank=False, null=False)
congregation = models.IntegerField(blank=False, null=False)
image = models.ImageField(upload_to='masjid', blank=False, null=False)
approval = models.BooleanField(default=False)
created_at = models.DateTimeField(auto_now_add=True)
update_at = models.DateTimeField(auto_now=True)
def __str__(self):
return self.name
def get_absolute_url(self):
return reverse('masjid_detail', kwargs={'pk': self.pk})
class Imam(models.Model):
CERTIFICATE = (
('PhD', 'PhD'),
('MSc', 'MSc'),
('Bsc', 'Bsc'),
)
masjid = models.ForeignKey(Info, on_delete=models.CASCADE)
first_name = models.CharField(max_length=20)
last_name = models.CharField(max_length=20)
imam_address = models.TextField(blank=False, null=False)
phone_no = models.CharField(max_length=20)
certificate = models.CharField(max_length=50, choices=CERTIFICATE)
occupation = models.CharField(max_length=50, blank=False, null=False)
no_of_wives = models.IntegerField(blank=False, null=False)
no_of_children = models.IntegerField(blank=False, null=False)
created_at = models.DateTimeField(auto_now_add=True)
update_at = models.DateTimeField(auto_now=True)
def __str__(self):
return str(self.first_name) + str(self.last_name) + str(self.masjid.name)
view.py
def newImam(request, pk):
masjid = get_object_or_404(Info, pk=pk)
masjid_info = masjid.id
template_name = 'addimam.html'
if request.method == 'POST':
form = ImamForm(request.POST, instance=masjid)
if form.is_valid():
form.save()
print(form.save)
messages.success(request, 'The Project Details Has Been Added Successully!')
return redirect('addimam', masjid.id)
else:
form = ImamForm(instance=masjid)
return render(request, 'addimam.html', {'form' : form,})
forms.py
class ImamForm(forms.ModelForm):
class Meta:
model = Imam
exclude = ('updated_at', 'created_at', 'masjid')