У меня есть следующие модули: Продажи, Пол и Тип Django.
Таблица 1:
class Sales(models.Model):
sname = models.CharField(max_length=100, default="-")
sgender = models.ForeignKey(MainGender, on_delete=models.CASCADE)
stype = models.ForeignKey(MainTypes, on_delete=models.CASCADE)
sdate = models.TextField(default="-")
+------+-----+------+------+
| name |gende| type | date |
+------+-----+------+------+
| A | 1 | 1 | 2019 |
+------+-----+------+------+
| B | 2 | 1 | 2018 |
+------+-----+------+------+
| A | 1 | 3 | 2019 |
+------+-----+------+------+
| C | 2 | 3 | 2017 |
+------+-----+------+------+
| A | 1 | 2 | 2019 |
+------+-----+------+------+
Таблица 2 (ключ)
class MainGender(models.Model):
mid = models.CharField(max_length=25, default="-")
mgender = models.CharField(max_length=25, default="-")
+----+--------+
| id | gender |
+----+--------+
| 1 | Male |
+----+--------+
| 2 | Female |
+----+--------+
| 3 | - |
+----+--------+
Таблица 3 (ключ)
class MainTypes(models.Model):
tid = models.CharField(max_length=50, default="-")
ttype = models.CharField(max_length=50, default="-")
+----+------+
| id | type |
+----+------+
| 1 | U1 |
+----+------+
| 2 | X2 |
+----+------+
| 3 | B1 |
+----+------+
| 4 | H3 |
+----+------+
Затем я хочу подсчитать все вещи в основной таблице и показать их в шаблоне, как показано ниже
+---------------+---+
| Total records | 5 |
+---------------+---+
| Male | 3 |
+---------------+---+
| Female | 2 |
+---------------+---+
| Type U1 | 2 |
+---------------+---+
| Type X2 | 1 |
+---------------+---+
| Type B1 | 2 |
+---------------+---+
| Type H3 | 0 |
+---------------+---+
Я могу получить только общее количество записей в шаблоне по коду ниже
в views.py
def Sale_p(request):
saless = Sale.objects.all()
return render(request, 'sale.html', {'sales':saless})
Я пробовал эти коды в шаблоне (продажа. html)
{{ sales|length }} (gives you total records in Table 1, in this example 5)
{{ sales.gender|length }} (gives nothing)
{{ sales.type|length }} (gives nothing)
{{ sales.gender_set|length }} (gives nothing)
{{ sales.type_set|length }} (gives nothing)
{{ sales.gender(1)|length }} (gives nothing)
{{ sales(gender='1')|length }} (gives nothing)
{{ sales.gender.count() }} (gives nothing)
Они не работали в шаблоне. Я хочу видеть в записях, сколько раз у нас было «мужской» или «женский» или типа и т. Д. ...
в шаблоне, продажа. html
+---------------+--------------------+
| Total records | {{ sales|length }} |
+---------------+--------------------+
| Male | ? |
+---------------+--------------------+
| Female | ? |
+---------------+--------------------+
| Type U1 | ? |
+---------------+--------------------+
| Type X2 | ? |
+---------------+--------------------+
| Type B1 | ? |
+---------------+--------------------+
| Type H3 | ? |
+---------------+--------------------+
Какими должны быть коды, чтобы получить результаты для других? Или я должен использовать разные способы в views.py?