【发布时间】:2021-02-11 22:23:07
【问题描述】:
我正在尝试在我的应用程序中创建一个公告系统,让院长可以创建一个公告并选择他要发送给的学生。我希望有一种方法能够仅过滤他/她页面上的特定学生公告。
注意:通常,如果我在模板中编写代码 {{request.user}},我会得到“AnonymousUser”,这是预期的,因为没有实现普通的 django 用户模块,但是自定义用户模型。这表明 request.user.id 无效,因此我不能使用它来过滤。
我希望我能找到一些其他方法来过滤每个学生的公告。
models.py
class Announcement_by_dean(models.Model):
student_id = models.ManyToManyField(add_students_by_manager)
message = models.TextField()
sent_date = models.DateField(default=datetime.now(), blank=True)
updated_date = models.DateField(auto_now=True, blank=True)
def __str__(self):
return self.id
class add_students_by_manager(models.Model):
manager_ID = models.ForeignKey(Manager_login_information, on_delete=models.CASCADE)
student_ID = models.CharField(max_length=200)
student_name = models.CharField(max_length=200)
phone_number = models.CharField(max_length=200)
address = models.CharField(max_length=200)
dob = models.CharField(max_length=200)
major = models.CharField(max_length=200)
password = models.CharField(max_length=200)
def __str__(self):
return self.student_name
views.py
def student_course_list(request):
stu_course_id = request.POST.get('stu_course_id')
my_announcement = Announcement_by_dean.objects.filter(student_id=request.user.id).order_by('-sent_date')
print(my_announcement)
context = {"my_announcement":my_announcement}
return render(request, "student_course_list.html", context)
【问题讨论】:
标签: python django django-models django-views django-templates