Удаление/удаление данных в проекте Django
У меня есть следующая модель с отношениями "многие ко многим":
class Log(models.Model):
...................................
log_order = models.IntegerField(validators=[MinValueValidator(1)],blank=True, null=True)
class LogForm(forms.Form):
.............................
log_order = forms.IntegerField()
class ActiveSession(models.Model):
log = models.ManyToManyField(Log, related_name='savedlogs')
..................................
Для каждого ActiveSession
я хочу добавить различные Log
с различными log_order
.
Моим желаемым результатом является удаление журнала в каждом ActiveSession, если он равен data.log_order
, что означает, что он уже существует, и я пытаюсь избежать дублирования.
Вот мои испытания, которые не прошли и дали мне различные ошибки, такие как AttributeError: type object 'ActiveSession' has no attribute 'savedlogs'
Вот views.py
active_session = ActiveSession.objects.get(id=ActiveSession.objects.last().id)
if ActiveSession.savedlogs.values():
print("Outcome of active_session.log.values()",active_session.log.values())
# print(ActiveSession.objects.all())
if ActiveSession.Log.get(log_order=data.log_order):
current_session=active_session.savedlogs.get(log_order=data.log_order)
print('CurrentSession:', current_session)
------------required code to delete the Log inside the session------
else:
active_session.log.add(data)
print("Different Logs exists but not this log_order")
else:
active_session.log.add(data)
print('Log added to Session')
print(active_session.log.values())
Для упрощения и сокращения ненужного кода data.log_order
является результатом формы, которая работает совершенно нормально.
Пожалуйста, сообщите мне, если потребуется какое-либо уточнение.