FishHook
JOHN_16разумеется, естьfrom django.contrib.auth.decorators import login_required
спасибо!!
Еще вопрос. Накидал структуру базы чатбота. Предполагается что человек отвечает на 1-2-3 вопроса и бот возвращает человеку обработанную информацию.
Туплю с методом некст квесшн чат сессии, нужно получить вопрос, на который пользователь еще не ответил, или вернуть None если ответил на все
##################chat_bot###################################
class Messenger(models.Model):
class Meta:
db_table = 'messenger'
verbose_name = u'Мессенджер'
verbose_name_plural = u'Мессенджеры'
name = models.CharField(u'Название',max_length=20,blank = True)
def __unicode__(self):
return self.name
class ChatQuestion(models.Model):
class Meta:
db_table = 'chat_bot_question'
verbose_name = u'Чатбот вопрос'
verbose_name_plural = u'Чатбот вопросы'
question = models.CharField(u'Вопрос',max_length=255,blank = True)
def __unicode__(self):
return self.question
class ChatBotSession(models.Model):
class Meta:
db_table = 'chat_bot_session'
verbose_name = u'Чатбот сессия'
verbose_name_plural = u'Чатбот сессии'
messenger = models.ForeignKey(Messenger,verbose_name = u'Мессенджер', blank = True,null=True, default=1, on_delete = models.CASCADE)
user = models.ForeignKey(User,verbose_name = u'Пользователь', blank = True,null=True, on_delete = models.CASCADE)
def next_question(self):
pass
return 1
cnt = ChatQuestion.objects.count()
question = range(1,cnt):
def __unicode__(self):
return '#'+str(self.pk)
class ChatBotAnswer(models.Model):
class Meta:
db_table = 'chat_bot_answer'
verbose_name = u'Чатбот ответ'
verbose_name_plural = u'Чатбот ответы'
session = models.ForeignKey(ChatBotSession,verbose_name = u'Сессия', blank = True,null=True, on_delete = models.CASCADE)
question = models.ForeignKey(ChatQuestion,verbose_name = u'Вопрос', blank = True,null=True, on_delete = models.CASCADE)
answer = models.CharField(u'Ответ',max_length=255,blank = True,null=True)
def __unicode__(self):
return self.question.question + "\r\n\r\n" +self.answer