python - Django 信号:向没有直接关系的类发送信号
问题描述
删除对象时,如何-=1
在count
字段中计数?class Purchased_lessons
Watched_lessons
观看的课程/models.py
from lessons.models import lesson
from django.conf import settings
from purchased_lessons.models import Purchased_lessons
from datetime import datetime
from django.dispatch import receiver
from django.db.models.signals import post_delete
class Watched_lessons(models.Model):
user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.DO_NOTHING)
lesson = models.ForeignKey(Statement, on_delete=models.CASCADE)
watched_date = models.DateTimeField(default=datetime.now)
def __str__(self):
return self.lesson
其他代码:
课程/模型.py
from courses.models import Course
class Lesson(models.Model):
course = models.ForeignKey(Collection, on_delete=models.DO_NOTHING, blank=True, null=True)
lesson = models.CharField(max_length=200, null=True, blank=True)
def __str__(self):
return self.lesson
课程/模型.py
from django.db import models
class Course(models.Model):
title = models.CharField(max_length=50)
def __str__(self):
return self.title
购买的课程/models.py
from django.db import models
from django.conf import settings
from courses.models import Course
class Purchased_lessons(models.Model):
user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.DO_NOTHING)
course = models.ForeignKey(Course, on_delete=models.DO_NOTHING)
count = models.IntegerField(default=0) #tracks the amount of lessons watched per course and by a particular user.
def __str__(self):
return self.course
解决方案
推荐阅读
- r - 在 R 中重构相关数据
- mysql - 如何在不替换/删除 AWS RDS 内容的情况下将 localSQL 数据库导入(添加)到具有类似表结构的现有 AWS RDS
- c# - 重构更新 POCO 类的代码的最佳方法是什么
- node.js - 如何在mongodb中获取所有ref类型字段信息的数据?
- java - 将 Spring MVC 4 转换为 Spring MVC 5
- sql-server - 如何在 sqlcmd 中创建一个范围为一个特定用户的模式?我需要单独添加显式拒绝规则吗?
- android - Jetpack Compose - DropdownMenu / Composable 放置在 (the) Box 之外
- google-cloud-firestore - Firestore 安全规则的新功能
- protocols - 什么对等协议的规范最短?
- unix - 这条计算 fasta 文件中核苷酸数量的 awk 行是如何工作的?