为了继续我的代码,我正在尝试实现三条打印消息中的一条。现在我一直在接受
RelatedObjectDoesNotExist用户没有ambassador_profile。
我真正期望的是打印(“无amb配置文件”)。有人知道我在这里做错了什么吗?
views.py
user = request.user
try:
ambassador = user.ambassador_profile
selected_event = get_object_or_404(Event, slug=event, organizer__slug=organizer)
connected_events = ambassador.events.all()
if selected_event in connected_events:
print("You have an ambassador profile and you are connected.")
else:
print("You are not connected.")
except user.ambassador_profile.ObjectDoesNotExist:
print("No amb profile")models.py
class AmbassadorProfile(models.Model):
slug = models.CharField(
max_length=10,
unique=True,
)
user = models.OneToOneField(
User,
on_delete=models.CASCADE,
related_name='ambassador_profile',
)发布于 2018-07-21 15:12:09
看起来您的用户不存在。试试这个:
try:
ambassador = user.ambassador_profile
selected_event = get_object_or_404(Event, slug=event, organizer__slug=organizer)
connected_events = ambassador.events.all()
if selected_event in connected_events:
print("You have an ambassador profile and you are connected.")
else:
print("You are not connected.")
except user.DoesNotExist, user.ambassador_profile.ObjectDoesNotExist:
print("No amb profile")发布于 2018-07-21 15:46:51
真正解决问题的方法是将except user.ambassador_profile.ObjectDoesNotExist:改为except AmbassadorProfile.DoesNotExist:
https://stackoverflow.com/questions/51457292
复制相似问题