Выбор элементов из поля "многие ко многим" для связи определенных элементов в списке с моделью в панели администратора

Я работаю над приложением для книги рецептов, и в настоящее время мои модели связаны таким образом:

class Tool(models.Model):
    name = models.CharField(max_length=50)
    description = models.CharField(max_length=200)

    def __str__(self):
        return self.name

class Recipe(models.Model):
    name = models.CharField(max_length=50)
    description = models.CharField(max_length=200)
    servings = models.IntegerField(default=1, blank=False)
    tools = models.ManyToManyField(Tool)

    def __str__(self):
        return self.name

В настоящее время вход в панель администратора выглядит следующим образом:

enter image description here

После сохранения данных, как показано на скриншоте, я получаю следующую ошибку:

OperationalError at /admin/recipeBook/recipe/add/
no such table: recipeBook_recipe_tools

Вот мой файл admin.py, на всякий случай, если он будет полезен:

from django.contrib import admin

from .models import Recipe, Ingredient, Instruction, Tool

# Register your models here.
class IngredientInline(admin.TabularInline):
  model = Ingredient
  extra = 2

class RecipeAdmin(admin.ModelAdmin):
  fieldsets = [
    ('Information', {'fields': ['name', 'description', 'servings']}),
    ('Tools', {'fields': ['tools']})
  ]
  inlines = [IngredientInline]
  list_display = ('name', 'description', 'servings')
  search_fields = ['name']
  list_filter = ['servings']

admin.site.register(Recipe, RecipeAdmin)
admin.site.register(Ingredient)
admin.site.register(Instruction)
admin.site.register(Tool)

Если у вас возникла ошибка, подобная этой.

Убедитесь, что вы мигрировали свою базу данных после добавления в модели.

Вернуться на верх