Во-первых, метод get_all_menu должен быть методом Model Manager, а не методом Model, как у вас, поскольку он является функцией, которая действует на всю таблицу, а не на одну строку / экземпляр:
class MenuManager(models.Manager):
def get_all_menu(self):
return self.objects.all()
class Menu(models.Model):
objects = MenuManager()
Так что теперь вы можете использовать это, чтобы получить все строки таблицы:
Menu.objects.get_all_menu()
Во-вторых , функция unicode не имеет ничего дляделать с запросами.Это просто функция, которая помогает отображать чувствительное имя для объекта при его печати.
В-третьих , почему вы хотите, чтобы 2d-массив возвращался при запросе базы данных?Когда вы выполняете запрос, вы получаете 3 объекта обратно, поэтому у вас есть ссылка на все их атрибуты / столбцы:
menus = Menu.objects.get_all_menus()
for menu in menus:
print menu.menu_id
print menu.name_vi
print menu.name_en