python - Django:仅在其个人资料上显示链接到特定用户的约会
问题描述
我在 Django 中有一个名为“Booking”的模型来预约,其中有两个用户字段:一个专家和一个都具有 ForeignKey 关系的用户。我还有一个 CustomUser 模型,每个用户都有一个个人资料页面。如何指定我只想查看与该特定用户(或专家)在其个人资料页面上链接的约会?
模型.py:
class Booking(models.Model):
user = models.ForeignKey(CustomUser, null=True, default='', on_delete=models.CASCADE)
expert = models.ForeignKey(CustomUser, null=True, default='',on_delete=models.CASCADE, related_name='bookings')
title = models.CharField(max_length=200, default='Video call with ..', null=True)
start_time = models.DateTimeField('Start time')
end_time = models.DateTimeField('End time')
notes = models.TextField('Notes', help_text='Please provide some detail on what you would like to learn or discuss', blank=True, null=True)
视图.py:
class BookingView(CreateView):
model = Booking
form_class = BookingForm
def view_profile(request, pk=None):
if pk:
user = CustomUser.objects.get(pk=pk)
else:
user = request.user
args = {'user': user}
return render(request, 'profile.html', args)
配置文件很好地显示了所有用户对象,但我不确定如何仅在配置文件页面上调用用户链接的预订对象。任何帮助,将不胜感激!!
解决方案
user_bookings = Booking.objects.filter(user=request.user)
expert_bookings = Booking.objects.filter(expert=request.user)
将这些变量传递给渲染。您也可以组合过滤器,但这取决于您!
推荐阅读
- database - 如何在 Postgres 中对文件系统和数据库进行原子操作?
- azure-active-directory - AAD B2C 添加/映射来自外部/委托身份提供者的声明?
- database - MongoDB是非关系的缺点
- azure-data-lake - 带有 DVC 的 Azure DataLake
- java - Python 到 java 图像处理翻译
- node.js - Promise 链接和解析
- spring - 在 Junit 5 测试中注入 Spring 数据存储库
- python - 在字符串数组中查找某些元素不等于零的字符串
- c - 编译时出错:“二进制/的无效操作数(具有'short int *'和'int')”
- c++ - c++:为什么我不能为类“内部”的非常量静态成员赋值?