我有這樣的錯誤,我怎麼能解決這個問題?Django的get()方法返回一個以上
get()方法返回一個以上的事件 - 它返回2!
你們能幫我理解這意味着什麼,也許事先告訴我如何在將來避免這個錯誤?如果不止一個對象被發現,更多信息here
模型
class Event (models.Model):
name = models.CharField(max_length=100)
date = models.DateField(default='')
dicript = models.CharField(max_length=50, default='Описание отсутствует')
category = models.ForeignKey(Category,on_delete=models.CASCADE)
adress = models.TextField(max_length=300)
user = models.ForeignKey(User,related_name="creator",null=True)
subs = models.ManyToManyField(User, related_name='subs',blank=True)
@classmethod
def make_sub(cls, this_user, sub_event):
event, created = cls.objects.get_or_create(
user=this_user
)
sub_event.subs.add(this_user)
VIEWS
def cards_detail (request,pk=None):
# if pk:
event_detail = Event.objects.get(pk=pk)
subs = event_detail.subs.count()
# else:
# return CardsView()
args = {'event_detail':event_detail,'subs':subs}
return render(request,'events/cards_detail.html',args)
class CardsView (TemplateView):`
template_name = 'events/cards.html'
def get (self,request):
events = Event.objects.all()
return render(request,self.template_name,{'events':events })
def subs_to_event (request,pk=None):
event = Event.objects.filter(pk=pk)
Event.make_sub(request.user,event)
return redirect('events:cards')
謝謝,現在它不通過免除,但不做任何事 – rumor
@rumor我猜你的意思是現在處理的異常,很好,你把'sub_event.subs.add(this_user)'放回塊?你的make_sub方法會將用戶添加到子目錄中。 – shaded
是的,當然 什麼,我接下來要做,以解決這一問題嗎?請幫我 – rumor