Задать вопрос
  • Как вставить картинку в django.messages?

    devildayne
    @devildayne Автор вопроса
    Нет костылей?
  • Как отнять дату от даты и сравнить их на положительность?

    devildayne
    @devildayne Автор вопроса
    Ivan Yakushenko, в данном случае parser не работает, тк
    def doubleGold(self, uid,*args,**kwargs):# return gold buff for a fight
    		GoldWin = 250
    		GoldLoose = 100
    		
    		try:
    			gbuff = UserBuffGold.objects.filter(ubuff_id =uid)
    			for t in gbuff:
    				exp = parser.parse(t.exp_time)
    				if ((exp-datetime.now().day) <0 or (exp-datetime.now().hour<0) or (exp-datetime.now().minute<0)): 
    					gbuff.delete()
    					GoldWin = 250
    					GoldLoose = 100
    
    					return GoldWin,GoldLoose
    				else:
    					#gbuff.delete()
    					GoldWin = 500
    					GoldLoose = 250
    				
    					return GoldWin,GoldLoose
    			#return GoldWin,GoldLoose
    				
    		except:
    			return GoldWin,GoldLoose


    Получаю ошибку 5d89bebd8abe2076893673.png

    вот код модели:
    class UserBuffGold(models.Model):
    	ubuff = models.OneToOneField(User,on_delete=models.CASCADE,primary_key=True)
    
    	buffName = models.CharField(max_length = 150,default='Эссенция двойного опыта')
    	buffInfo = models.CharField(max_length = 150,default='Удваивает опыт на 20 боёв')
    	accept_time = models.DateTimeField(default=None)
    	exp_time = models.DateTimeField(default=None)
    
    	
    
    	def __str__(self):
    		return (self.buffName + '|' + str(self.ubuff.username))

    Вот как выглядит бд
    5d89befd0f442624792824.png

    В данном случае срабатывает блок EXCEPT
  • Как отнять дату от даты и сравнить их на положительность?

    devildayne
    @devildayne Автор вопроса
    Да, это datetime объект, в модели выглядит так,

    exp_time = models.DateTimeField(default=None)

    операция возвращает результат в любом случае, те
    print(exp - datetime.now())
    
    >> -1 day, 13:00:00


    Мне нужно сделать так, что бы я мог сравнить дату на отрицательность, и если она отрицательна( -1 day, 13:00:00,например) - удалить строку в таблице
    gbuff = UserBuffGold.objects.filter(ubuff_id =uid)
    			for t in gbuff:
    				exp = t.exp_time
    				if (exp-datetime.now()<=datetime.now()): # Вот именно в этом условии проблема
    					gbuff.delete()
    					GoldWin = 250
    					GoldLoose = 100
    
    					return GoldWin,GoldLoose

    Вот сама ошибка:
    File "C:/Users/valinor/PycharmProjects/strBot/dt.py", line 8, in <module>
    if ((exp - datetime.now())<datetime.now()):
    TypeError: '<' not supported between instances of 'datetime.timedelta' and 'datetime.datetime'

    Я понимаю, что значит эта ошибка, но как же в конечном итоге добиться того, чего я хочу?
  • Как сохранить queryset в список?

    devildayne
    @devildayne Автор вопроса
    sim3x, Получаю данные из одного приложения в других, с разными контекстами и тп, мне,в моей ситуации,как мне кажется, проще итерировать qs в шаблоне, нежели иначе
  • Как сохранить queryset в список?

    devildayne
    @devildayne Автор вопроса
    sim3x, на это есть свои причины, мне просто интересно, можно ли делать так, как я сказал выше или нет?
  • Django ORM - как выразить запрос sql?

    devildayne
    @devildayne Автор вопроса
    Спасибо огромное.
    Каждый раз понимаю, что django ORM бездарнее и на порядок сложнее чистого sql xD
  • Авто-декремент mysql+php(автоматически)?

    devildayne
    @devildayne Автор вопроса
    Можно пожалуйста пару строчек примерного кода? никак не могу понять(
    if (isset($_GET['id1']))
    {
    
     		 mysqli_query($connection,
                "UPDATE users SET gold = gold - 36,pwr = pwr +39 ,ptime = 40*60,exp = exp + 39, pname='Госпительер',pimg='images/warrior/hosp.jpg' WHERE login ='$nm'");
     		
           
          }

    ptime - то значение которое нужно записывать в базу,выводить пока оно не равно 0