2017-02-09 7 views
0

Допустим, я следующую таблицу:
Таблица: Сообщения
Поля: идентификатор, имя, содержаниеКак назвать это кодирование?

И еще один стол:
Таблица: Изображения
Поля: идентификатор , post_id, url

Как правило, я могу создать CRUD для каждого из них. Сначала создайте сообщение и сохраните его. Затем по картинке таблица пользователя CRUD может добавлять столько изображений, сколько изображения. Но что, если требование не создает CRUD для изображений. Но внутри сообщений CRUD. Я имею в виду при создании (заполнение полей Постов) есть кнопка, которая помечена как «добавить изображения». Затем, когда пользователь добавляет изображения через эту кнопку. Наконец, когда нажимаете на «создать сообщение», внутренний код должен создавать как сообщения, так и изображения. Как вы это называете? Я не мог найти учебник и урок из-за моего английского языка, я не мог описать его достаточно для поиска Google.

+0

в вашем создать метод поп изображения из запроса после, а затем создать пост первого, а затем создавать изображения с poped данных –

+0

пожалуйста, загрузите CRUD метод. –

+1

В Django: Если ваш post_id является ForeinKey для сообщений, вы можете проверить Inline в admin, который делает это. https://docs.djangoproject.com/en/1.10/ref/contrib/admin/#django.contrib.admin.StackedInline –

ответ

1

Вы можете использовать inlines осуществить то, что вы хотите в Джанго администратора:

from django.contrib import admin 

class ImagesInline(admin.TabularInline): 
    model = Images 

class PostsAdmin(admin.ModelAdmin): 
    inlines = [ 
     BookInline, 
    ] 

admin.site.register(Posts, PostsAdmin) 
+0

Спасибо. Магическое слово «встроенный администратор», я думаю. Но мне интересно, как это работает. При создании сообщений, его не написано в таблице Posts? Это означает, что в настоящее время у него нет идентификатора. Затем, когда вы добавляете изображения, как post_id в таблице изображений получает значение? – Gereltod

+0

@Gereltod приветствуется. Да, встроенный администратор django - это ключевые слова. Не уверен, как это было реализовано, это просто волшебство django :) – neverwalkaloner

+0

Я отредактировал свой комментарий. Вы можете объяснить этот вопрос? – Gereltod