如何在多对多关系中获得独特的孩子?

时间:2019-05-19 11:03:35

标签: django django-models

我需要列出一本有书籍的流派清单。多本书可以具有相同的体裁,但列表中不能重复。

#include <stdio.h>

#define MATRIX_ROWS (2)
#define MATRIX_COLUMNS (2)

#define ARRAY_SIZE (4)

int matrix_set(int (*m)[MATRIX_COLUMNS])
{
  for (size_t i = 0; i < MATRIX_ROWS; ++i)
  {
    for (size_t j = 0; j < MATRIX_COLUMNS; ++j)
    {
      m[i][j] = (int) ((i+1)*(j+1));
    }
  }

  return 0;
}

int matrix_print(int (*m)[MATRIX_COLUMNS])
{
  for (size_t i = 0; i < MATRIX_ROWS; ++i)
  {
    for (size_t j = 0; j < MATRIX_COLUMNS; ++j)
    {
      printf("m[%zu][%zu] = %d\n", i, j, m[i][j]);
    }
  }

  return 0;
}

int main(void)
{
  int a[ARRAY_SIZE][MATRIX_ROWS][MATRIX_COLUMNS];

  for (size_t i = 0; i < ARRAY_SIZE; ++i)
  {
    printf("setting a[%zu]:\n", i);
    matrix_set(a[i]);
  }

  for (size_t i = 0; i < ARRAY_SIZE; ++i)
  {
    printf("printing a[%zu]:\n", i);
    matrix_print(a[i]);
  }
}

1 个答案:

答案 0 :(得分:0)

您可以获得具有以下至少相关的 Genre的{​​{1}}列表:

Book

这里Genre.objects.filter(book__isnull=False).distinct()是必要的,因为否则,您将在每个相关的.distinct()中获得一次Genre

Django将为此构建一个查询,如下所示:

Book