В SQL Server вот немного приема, чтобы сделать это:
SELECT CAST(FLOOR(CAST(CURRENT_TIMESTAMP AS float)) AS DATETIME)
Вы бросаете DateTime в плавание, которое представляет Дату как целочисленную часть и Время как часть дня, это передается. Обрубите ту десятичную часть, затем бросьте тот назад в DateTime, и у Вас есть полночь в начале того дня.
Это, вероятно, более эффективно, чем весь DATEADD и материал DATEDIFF. Это - конечно, путь, легче вводить.
Вполне возможно использовать инлайн для отношения OneToOne. Однако фактическое поле, определяющее связь, должно находиться во встроенной модели, а не в родительской - точно так же, как для ForeignKey. Переключите его, и он будет работать.
Редактировать после комментария : вы говорите, что родительская модель уже зарегистрирована администратором: затем отмените регистрацию и повторно зарегистрируйте.
from original.satchmo.admin import ProductAdmin
class MyProductInline(admin.StackedInline):
model = MyProduct
class ExtendedProductAdmin(ProductAdmin):
inlines = ProductAdmin.inlines + (MyProductInline,)
admin.site.unregister(Product)
admin.site.register(Product, ExtendedProductAdmin)
Ссылаясь на последний вопрос, какое решение было бы лучшим для нескольких подтипов. Например, класс Product с подтипом класса Book и подтипом класса CD. Как показано здесь, вам нужно будет отредактировать продукт: общие элементы плюс элементы подтипа для книги И элементы подтипа для компакт-диска. Таким образом, даже если вы хотите добавить только книгу, вы также получите поля для компакт-диска. Если вы добавите подтип, например DVD, вы получаете три группы полей подтипа, в то время как на самом деле вам нужна только одна группа подтипов в упомянутом примере: книги.