+class Cite(models.Model):
+    book = models.ForeignKey(Book, models.CASCADE, verbose_name='książka', null=True, blank=True)
+    text = models.TextField('tekst', blank=True)
+    small = models.BooleanField(
+        'mały', default=False, help_text='Sprawia, że cytat wyświetla się mniejszym fontem.')
+    vip = models.CharField('VIP', max_length=128, null=True, blank=True)
+    link = models.URLField('odnośnik')
+    video = models.URLField('wideo', blank=True)
+    picture = models.ImageField('ilustracja', blank=True,
+            help_text='Najlepsze wymiary: 975 x 315 z tekstem, 487 x 315 bez tekstu.')
+    picture_alt = models.CharField('alternatywny tekst ilustracji', max_length=255, blank=True)
+    picture_title = models.CharField('tytuł ilustracji', max_length=255, null=True, blank=True)
+    picture_author = models.CharField('autor ilustracji', max_length=255, blank=True, null=True)
+    picture_link = models.URLField('link ilustracji', blank=True, null=True)
+    picture_license = models.CharField('nazwa licencji ilustracji', max_length=255, blank=True, null=True)
+    picture_license_link = models.URLField('adres licencji ilustracji', blank=True, null=True)
+
+    sticky = models.BooleanField('przyklejony', default=False, db_index=True,
+                                 help_text='Przyklejone cytaty mają pierwszeństwo.')
+    background_plain = models.BooleanField('jednobarwne tło', default=False)
+    background_color = models.CharField('kolor tła', max_length=32, blank=True)