django Фильтрация данных из нескольких таблиц без внешнего ключа - PullRequest
0 голосов
/ 24 сентября 2019

model.py

class Tas(models.Model):
tas_id = models.AutoField(primary_key=True)
date = models.DateTimeField(blank=True,null=True)
ware_id = models.IntegerField(blank=True, null=True) 
taserid = models.CharField(max_length=100, blank=True, null=True)   
class Channels(models.Model):
taserid = models.CharField(max_length=255, blank=True, null=True) 
type = models.CharField(max_length=255, blank=True, null=True)
displayname = models.CharField(max_length=100, blank=True, null=True) 
class Ware(models.Model):
ware_id = models.AutoField(primary_key=True)
ware_name = models.CharField(null = False,max_length=255)
taserid = models.CharField(null = True, max_length=255)

views.py

def index(request):
assert isinstance(request,HttpRequest)
display = Tas.objects.all(),
cursor = connection.cursor()
cursor.execute("select es.date,ew.ware_name,ec.type,ec.displayName from tas as es inner join
ware as ew on ew.ware_id = es.ware_id inner join channels as ec on ec.taserId = es.taserId")

Я столкнулся с проблемой при применении фильтров, потому чтомежду Task, Channels, Ware нет внешнего ключа.однако среди этих таблиц есть общее поле. Пожалуйста, предложите, как я могу применить фильтр в таблице продаж на основе таблицы каналов - тип столбца, отображаемое имя и таблица Tas - дата столбца

...