Commits

Alex Ulianytskyi committed 58388b5

Возможность редактирования курса

Comments (0)

Files changed (7)

 from banners.admin import BannerAdmin
 from banners.admin import BannerLogEntry
 from banners.admin import BannerLogEntryAdmin
-from botanic_apartments.catalogue.models import ReservationPeriod
 from catalogue.admin import Apartment
 from catalogue.admin import ApartmentAdmin
 from catalogue.admin import ApartmentImage
 from catalogue.admin import BonusTypeAdmin
 from catalogue.admin import Building
 from catalogue.admin import BuildingAdmin
+from catalogue.admin import CurrencyAdmin
 from catalogue.admin import ReservationPeriodAdmin
 from catalogue.admin import Street
 from catalogue.admin import StreetAdmin
 from catalogue.models import Bonus
 from catalogue.models import BonusType
+from catalogue.models import Currency
 from catalogue.models import ReservationPeriod
 from django.conf.urls.defaults import *
 from django.contrib import admin
 site.register(TranslatablePost, TranslatablePostAdmin)
 site.register(Banner, BannerAdmin)
 site.register(BannerLogEntry, BannerLogEntryAdmin)
-site.register(ReservationPeriod, ReservationPeriodAdmin)
+site.register(ReservationPeriod, ReservationPeriodAdmin)
+site.register(Currency, CurrencyAdmin)

banners/models.py

 # -*- coding: utf-8 -*-
+import os.path
+
+from annoying.functions import get_config
 import datetime
-import os.path
-import logging
-from annoying.functions import get_config
 from django.contrib.auth.models import User
 from django.contrib.sessions.models import Session
 from django.core.files.storage import FileSystemStorage
             q_list.append(models.Q(bannerlogentry__timestamp__lt=end + one_day))
         show_q = models.Q(bannerlogentry__event='s')
         move_q = models.Q(bannerlogentry__event='m')
-        show_qs = all_banners.filter(*(q_list+[show_q])).distinct()
-        move_qs =  all_banners.filter(*(q_list+[move_q])).distinct()
+        show_qs = all_banners.filter(*(q_list + [show_q])).distinct()
+        move_qs = all_banners.filter(*(q_list + [move_q])).distinct()
         show_stat = show_qs.annotate(show_count=models.Count('bannerlogentry'))
         move_stat = move_qs.annotate(move_count=models.Count('bannerlogentry'))
         result = {}
         except KeyError:
             return False
         del filter_params['referer']
-        entries = self.bannerlogentry_set.filter(event='s', **filter_params)
+        entries = self.bannerlogentry_set.filter(event='s', ** filter_params)
         if entries.count() > 0:
             self.move_log_entry = self._add_log_entry(request, event='m')
             return self.move_log_entry is not None and self.move_log_entry.id is not None

catalogue/admin.py

 
 class ReservationPeriodAdmin(admin.ModelAdmin):
     form = ReservationPeriodForm
-    list_display = ('apartment', 'start', 'end')
+    list_display = ('apartment', 'start', 'end')
+
+class CurrencyAdmin(admin.ModelAdmin):
+    list_display = ('code', 'exchange_rate', 'symbol')

catalogue/fixtures/initial_data.json

 [
   {
-    "pk": 5, 
-    "model": "catalogue.streettranslation", 
-    "fields": {
-      "master": 3, 
-      "name": "Saksaganskogo st.", 
-      "language_id": 1
-    }
-  }, 
-  {
     "pk": 1, 
     "model": "catalogue.streettranslation", 
     "fields": {
     }
   }, 
   {
-    "pk": 7, 
+    "pk": 5, 
     "model": "catalogue.streettranslation", 
     "fields": {
-      "master": 4, 
-      "name": "\u0443\u043b. \u0414\u043c\u0438\u0442\u0440\u0438\u0435\u0432\u0441\u043a\u0430\u044f", 
-      "language_id": 2
+      "master": 3, 
+      "name": "Saksaganskogo st.", 
+      "language_id": 1
     }
   }, 
   {
     }
   }, 
   {
+    "pk": 7, 
+    "model": "catalogue.streettranslation", 
+    "fields": {
+      "master": 4, 
+      "name": "\u0443\u043b. \u0414\u043c\u0438\u0442\u0440\u0438\u0435\u0432\u0441\u043a\u0430\u044f", 
+      "language_id": 2
+    }
+  }, 
+  {
     "pk": 1, 
     "model": "catalogue.street", 
     "fields": {}
     "fields": {}
   }, 
   {
-    "pk": 10, 
-    "model": "catalogue.building", 
-    "fields": {
-      "street": 4, 
-      "number": "2"
-    }
-  }, 
-  {
     "pk": 1, 
     "model": "catalogue.building", 
     "fields": {
     }
   }, 
   {
+    "pk": 10, 
+    "model": "catalogue.building", 
+    "fields": {
+      "street": 4, 
+      "number": "2"
+    }
+  }, 
+  {
     "pk": 1, 
     "model": "catalogue.apartmenttranslation", 
     "fields": {
     }
   }, 
   {
-    "pk": 8, 
+    "pk": 2, 
     "model": "catalogue.apartmenttranslation", 
     "fields": {
-      "master": 8, 
-      "description": "\u041e\u0431\u0449\u0435\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435: \u041d\u043e\u0432\u044b\u0439 \u0434\u043e\u043c. \u0420\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0430 \u043d\u0430 15-\u043e\u043c \u044d\u0442\u0430\u0436\u0435 24-\u0445 \u044d\u0442\u0430\u0436\u043d\u043e\u0433\u043e \u0434\u043e\u043c\u0430. \u041b\u0438\u0444\u0442. \u041e\u0445\u0440\u0430\u043d\u0430, \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440. \u0415\u0432\u0440\u043e\u0440\u0435\u043c\u043e\u043d\u0442. \u0414\u0432\u0430 \u0431\u0430\u043b\u043a\u043e\u043d\u0430. \u041f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0430 \u0438 \u0443\u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0442\u043e\u0432\u0430\u043d\u0430. \u0420\u044f\u0434\u043e\u043c \u0430\u0432\u0442\u043e\u0441\u0442\u043e\u044f\u043d\u043a\u0430, \u043a\u0440\u0443\u0433\u043b\u043e\u0441\u0443\u0442\u043e\u0447\u043d\u044b\u0439 \u0433\u0430\u0441\u0442\u0440\u043e\u043d\u043e\u043c. \u0421\u0442. \u043c. \u00ab\u0412\u043e\u043a\u0437\u0430\u043b\u044c\u043d\u0430\u044f\u00bb - 7 \u043c\u0438\u043d. \u0445\u043e\u0434\u044c\u0431\u044b. \u0418\u043d\u0442\u0435\u0440\u043d\u0435\u0442.\r\n\r\n\u0412\u0430\u043d\u043d\u0430\u044f:  \u0431\u0438\u0434\u0435, \u0434\u0443\u0448\u0435\u0432\u0430\u044f \u043a\u0430\u0431\u0438\u043d\u0430, \u0432\u0430\u043d\u043d\u0430\u043c \u0441 \u0440\u0443\u0447\u043a\u0430\u043c\u0438, \u0441\u0442\u0438\u0440\u0430\u043b\u044c\u043d\u0430\u044f \u043c\u0430\u0448\u0438\u043d\u0430, \u0431\u043e\u0439\u043b\u0435\u0440, \u043f\u043e\u0434\u043e\u0433\u0440\u0435\u0432 \u043f\u043e\u043b\u043e\u0432, \u0444\u0435\u043d, \u043c\u0430\u0445\u0440\u043e\u0432\u044b\u0435 \u043f\u043e\u043b\u043e\u0442\u0435\u043d\u0446\u0430, \u0448\u0430\u043c\u043f\u0443\u043d\u044c, \u0433\u0435\u043b\u044c \u0434\u043b\u044f \u0434\u0443\u0448\u0430, \u043c\u044b\u043b\u043e.\r\n\r\n\u041a\u0443\u0445\u043d\u044f: \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u0430\u044f \u043a\u0443\u0445\u043d\u044f, \u0441\u0442\u043e\u043b, \u043c\u0438\u043a\u0440\u043e\u0432\u043e\u043b\u043d\u043e\u0432\u0430\u044f \u043f\u0435\u0447\u044c, \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u0447\u0430\u0439\u043d\u0438\u043a, \u0445\u043e\u043b\u043e\u0434\u0438\u043b\u044c\u043d\u0438\u043a, \u0440\u0430\u0441\u043a\u043b\u0430\u0434\u043d\u043e\u0439 \u0434\u0438\u0432\u0430\u043d, \u043f\u043b\u0430\u0437\u043c\u0435\u043d\u043d\u044b\u0439 \u0442\u0435\u043b\u0435\u0432\u0438\u0437\u043e\u0440, \u043a\u043e\u043d\u0434\u0438\u0446\u0438\u043e\u043d\u0435\u0440, \u043a\u0443\u0445\u043e\u043d\u043d\u044b\u0435 \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u043d\u043e\u0441\u0442\u0438, \u0447\u0430\u0439, \u043a\u043e\u0444\u0435, \u0441\u0430\u0445\u0430\u0440.\r\n\r\n\u041a\u043e\u043c\u043d\u0430\u0442\u0430:  \u0440\u0430\u0441\u043a\u043b\u0430\u0434\u043d\u043e\u0439 \u0434\u0438\u0432\u0430\u043d, \u0440\u0430\u0441\u043a\u043b\u0430\u0434\u043d\u043e\u0435 \u043a\u0440\u0435\u0441\u043b\u043e, \u0436\u0443\u0440\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u0441\u0442\u043e\u043b\u0438\u043a, \u0442\u0435\u043b\u0435\u0432\u0438\u0437\u043e\u0440, DVD.", 
+      "master": 1, 
+      "description": "\u0412\u0441\u0442\u0430\u0432\u044c \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0441\u0434\u0435\u0441\u044c.", 
+      "language_id": 2
+    }
+  }, 
+  {
+    "pk": 3, 
+    "model": "catalogue.apartmenttranslation", 
+    "fields": {
+      "master": 3, 
+      "description": "\u041e\u0431\u0449\u0435\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435: \u0420\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0430 \u043d\u0430 4-\u043e\u043c \u044d\u0442\u0430\u0436\u0435 5-\u0442\u0438 \u044d\u0442\u0430\u0436\u043d\u043e\u0433\u043e \u043a\u0438\u0440\u043f\u0438\u0447\u043d\u043e\u0433\u043e \u0434\u043e\u043c\u0430. \u041f\u0430\u0440\u0430\u0434\u043d\u043e\u0435 \u043d\u0430 \u043a\u043e\u0434\u043e\u0432\u043e\u043c \u0437\u0430\u043c\u043a\u0435. \u0418\u043d\u0442\u0435\u0440\u043d\u0435\u0442. \u041f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0443\u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0442\u043e\u0432\u0430\u043d\u0430. \u0420\u044f\u0434\u043e\u043c \u043a\u0440\u0443\u0433\u043b\u043e\u0441\u0443\u0442\u043e\u0447\u043d\u044b\u0439 \u0433\u0430\u0441\u0442\u0440\u043e\u043d\u043e\u043c. \r\n\r\n\u0412\u0430\u043d\u043d\u0430\u044f:  \u0441\u0442\u0438\u0440\u0430\u043b\u044c\u043d\u0430\u044f \u043c\u0430\u0448\u0438\u043d\u0430, \u0444\u0435\u043d, \u0448\u0430\u043c\u043f\u0443\u043d\u044c, \u043c\u044b\u043b\u043e, \u043c\u0430\u0445\u0440\u043e\u0432\u044b\u0435 \u043f\u043e\u043b\u043e\u0442\u0435\u043d\u0446\u0430.\r\n\r\n\u041a\u0443\u0445\u043d\u044f: \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u0430\u044f \u043a\u0443\u0445\u043d\u044f, \u0441\u0442\u043e\u043b,  \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u0447\u0430\u0439\u043d\u0438\u043a, \u0445\u043e\u043b\u043e\u0434\u0438\u043b\u044c\u043d\u0438\u043a, \u043a\u0443\u0445\u043e\u043d\u043d\u044b\u0435 \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u043d\u043e\u0441\u0442\u0438, \u0447\u0430\u0439, \u043a\u043e\u0444\u0435, \u0441\u0430\u0445\u0430\u0440.\r\n\u041a\u043e\u043c\u043d\u0430\u0442\u0430: \u0434\u0432\u0443\u0441\u043f\u0430\u043b\u044c\u043d\u0430\u044f \u043a\u0440\u043e\u0432\u0430\u0442\u044c, 2 \u0440\u0430\u0441\u043a\u043b\u0430\u0434\u043d\u044b\u0445 \u043a\u0440\u0435\u0441\u043b\u0430, \u0440\u0430\u0441\u043a\u043b\u0430\u0434\u043d\u043e\u0439 \u0434\u0438\u0432\u0430\u043d, \u0448\u043a\u0430\u0444, \u0442\u0435\u043b\u0435\u0432\u0438\u0437\u043e\u0440.", 
+      "language_id": 2
+    }
+  }, 
+  {
+    "pk": 4, 
+    "model": "catalogue.apartmenttranslation", 
+    "fields": {
+      "master": 4, 
+      "description": "\u041e\u0431\u0449\u0435\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435: \u0420\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0430 \u043d\u0430 7-\u043e\u043c \u044d\u0442\u0430\u0436\u0435 9-\u0442\u0438 \u044d\u0442\u0430\u0436\u043d\u043e\u0433\u043e \u043a\u0438\u0440\u043f\u0438\u0447\u043d\u043e\u0433\u043e \u0434\u043e\u043c\u0430. \u041f\u0430\u0440\u0430\u0434\u043d\u043e\u0435 \u043d\u0430 \u043c\u0430\u0433\u043d\u0438\u0442\u043d\u043e\u043c \u0437\u0430\u043c\u043a\u0435. \u0415\u0432\u0440\u043e\u0440\u0435\u043c\u043e\u043d\u0442. \u0411\u0430\u043b\u043a\u043e\u043d. \u0418\u043d\u0442\u0435\u0440\u043d\u0435\u0442. \u041f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0443\u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0442\u043e\u0432\u0430\u043d\u0430.\r\n\r\n\u0412\u0430\u043d\u043d\u0430\u044f: \u0441/\u0443 \u0440\u0430\u0437\u0434\u0435\u043b\u044c\u043d\u044b\u0439, \u0431\u043e\u0439\u043b\u0435\u0440, \u0444\u0435\u043d, \u0448\u0430\u043c\u043f\u0443\u043d\u044c, \u043c\u044b\u043b\u043e, \u043c\u0430\u0445\u0440\u043e\u0432\u044b\u0435 \u043f\u043e\u043b\u043e\u0442\u0435\u043d\u0446\u0430.\r\n\u041a\u0443\u0445\u043d\u044f: \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u0430\u044f \u043a\u0443\u0445\u043d\u044f, \u0441\u0442\u043e\u043b, \u0441\u0442\u0438\u0440\u0430\u043b\u044c\u043d\u0430\u044f \u043c\u0430\u0448\u0438\u043d\u0430, \u043c\u0438\u043a\u0440\u043e\u0432\u043e\u043b\u043d\u043e\u0432\u0430\u044f \u043f\u0435\u0447\u044c, \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u0447\u0430\u0439\u043d\u0438\u043a, \u0445\u043e\u043b\u043e\u0434\u0438\u043b\u044c\u043d\u0438\u043a, \u043a\u0443\u0445\u043e\u043d\u043d\u044b\u0435 \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u043d\u043e\u0441\u0442\u0438, \u0447\u0430\u0439, \u043a\u043e\u0444\u0435, \u0441\u0430\u0445\u0430\u0440.\r\n\r\n\u041a\u043e\u043c\u043d\u0430\u0442\u0430: \u0434\u0432\u0443\u0441\u043f\u0430\u043b\u044c\u043d\u0430\u044f \u043a\u0440\u043e\u0432\u0430\u0442\u044c, \u0440\u0430\u0441\u043a\u043b\u0430\u0434\u043d\u043e\u0439 \u0434\u0438\u0432\u0430\u043d, \u0436\u0443\u0440\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u0441\u0442\u043e\u043b\u0438\u043a, \u043f\u043b\u0430\u0437\u043c\u0435\u043d\u043d\u044b\u0439 \u0442\u0435\u043b\u0435\u0432\u0438\u0437\u043e\u0440,\u043a\u043e\u043d\u0434\u0438\u0446\u0438\u043e\u043d\u0435\u0440, \u043a\u0430\u043c\u0438\u043d.", 
+      "language_id": 2
+    }
+  }, 
+  {
+    "pk": 5, 
+    "model": "catalogue.apartmenttranslation", 
+    "fields": {
+      "master": 5, 
+      "description": "\u041e\u0431\u0449\u0435\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435: \u0420\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0430 \u043d\u0430 3-\u0435\u043c \u044d\u0442\u0430\u0436\u0435 5-\u0442\u0438 \u044d\u0442\u0430\u0436\u043d\u043e\u0433\u043e \u043a\u0438\u0440\u043f\u0438\u0447\u043d\u043e\u0433\u043e \u0434\u043e\u043c\u0430. \u041f\u0430\u0440\u0430\u0434\u043d\u043e\u0435 \u043d\u0430 \u043a\u043e\u0434\u043e\u0432\u043e\u043c \u0437\u0430\u043c\u043a\u0435. \u0415\u0432\u0440\u043e\u0440\u0435\u043c\u043e\u043d\u0442. \u0418\u043d\u0442\u0435\u0440\u043d\u0435\u0442. \u041f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0443\u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0442\u043e\u0432\u0430\u043d\u0430. \u0420\u044f\u0434\u043e\u043c \u043a\u0440\u0443\u0433\u043b\u043e\u0441\u0443\u0442\u043e\u0447\u043d\u044b\u0439 \u0433\u0430\u0441\u0442\u0440\u043e\u043d\u043e\u043c.\r\n\r\n\u0412\u0430\u043d\u043d\u0430\u044f: \u0443\u0433\u043b\u043e\u0432\u0430\u044f \u0432\u0430\u043d\u043d\u0430, \u0441\u0442\u0438\u0440\u0430\u043b\u044c\u043d\u0430\u044f \u043c\u0430\u0448\u0438\u043d\u0430, \u0431\u043e\u0439\u043b\u0435\u0440, \u0444\u0435\u043d, \u0448\u0430\u043c\u043f\u0443\u043d\u044c, \u043c\u044b\u043b\u043e, \u043c\u0430\u0445\u0440\u043e\u0432\u044b\u0435 \u043f\u043e\u043b\u043e\u0442\u0435\u043d\u0446\u0430.\r\n\r\n\u041a\u0443\u0445\u043d\u044f: \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u0430\u044f \u043a\u0443\u0445\u043d\u044f, \u0441\u0442\u043e\u043b, \u043c\u0438\u043a\u0440\u043e\u0432\u043e\u043b\u043d\u043e\u0432\u0430\u044f \u043f\u0435\u0447\u044c, \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u0447\u0430\u0439\u043d\u0438\u043a, \u0445\u043e\u043b\u043e\u0434\u0438\u043b\u044c\u043d\u0438\u043a, \u043a\u0443\u0445\u043e\u043d\u043d\u044b\u0435 \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u043d\u043e\u0441\u0442\u0438, \u0447\u0430\u0439, \u043a\u043e\u0444\u0435, \u0441\u0430\u0445\u0430\u0440.\r\n\u041a\u043e\u043c\u043d\u0430\u0442\u0430: \u0433\u043e\u0441\u0442\u0438\u043d\u0430\u044f: \u0440\u0430\u0441\u043a\u043b\u0430\u0434\u043d\u043e\u0439 \u043a\u043e\u0436\u0430\u043d\u044b\u0439 \u043c\u044f\u0433\u043a\u0438\u0439 \u0443\u0433\u043e\u043b\u043e\u043a, \u0437\u0435\u0440\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \u0448\u043a\u0430\u0444-\u043a\u0443\u043f\u0435, \u0442\u0435\u043b\u0435\u0432\u0438\u0437\u043e\u0440, DVD,  \u043a\u043e\u043d\u0434\u0438\u0446\u0438\u043e\u043d\u0435\u0440.\r\n\r\n                 \u0441\u043f\u0430\u043b\u044c\u043d\u044f: \u0434\u0432\u0443\u0441\u043f\u0430\u043b\u044c\u043d\u0430\u044f \u043a\u0440\u043e\u0432\u0430\u0442\u044c, \u043f\u0440\u0438\u043a\u0440\u043e\u0432\u0430\u0442\u043d\u044b\u0435 \u043f\u043e\u043b\u043e\u0447\u043a\u0438, \u0437\u0435\u0440\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \u0448\u043a\u0430\u0444-\u043a\u0443\u043f\u0435.", 
+      "language_id": 2
+    }
+  }, 
+  {
+    "pk": 6, 
+    "model": "catalogue.apartmenttranslation", 
+    "fields": {
+      "master": 6, 
+      "description": "\u041e\u0431\u0449\u0435\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435: \u041f\u0435\u0447\u0435\u0440\u0441\u043a. 2-\u0439 \u044d\u0442\u0430\u0436 9-\u0442\u0438 \u044d\u0442\u0430\u0436\u043d\u043e\u0433\u043e \u0434\u043e\u043c\u0430. \u041f\u0430\u0440\u0430\u0434\u043d\u043e\u0435 \u043d\u0430 \u043a\u043e\u0434\u043e\u0432\u043e\u043c \u0437\u0430\u043c\u043a\u0435 . \u041f\u0430\u0440\u043a\u0438\u043d\u0433. 4 \u043c\u0438\u043d\u0443\u0442\u044b \u0445\u043e\u0434\u044c\u0431\u044b - \u043c\u0435\u0442\u0440\u043e \u00ab\u041f\u0435\u0447\u0435\u0440\u0441\u043a\u0430\u044f\u00bb. \u0420\u044f\u0434\u043e\u043c \u0433\u0430\u0441\u0442\u0440\u043e\u043d\u043e\u043c. \u041f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0443\u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0442\u043e\u0432\u0430\u043d\u0430. \u0415\u0432\u0440\u043e\u0440\u0435\u043c\u043e\u043d\u0442.  \u041f\u043e\u0434\u043e\u0433\u0440\u0435\u0432 \u043f\u043e\u043b\u0430 \u043f\u043e \u0432\u0441\u0435\u0439 \u043a\u0432\u0430\u0440\u0442\u0438\u0440\u0435.\r\n\r\n\u0412\u0430\u043d\u043d\u0430\u044f: \u0441\u0442\u0438\u0440\u0430\u043b\u044c\u043d\u0430\u044f \u043c\u0430\u0448\u0438\u043d\u0430, \u0431\u043e\u0439\u043b\u0435\u0440, \u0444\u0435\u043d, \u0448\u0430\u043c\u043f\u0443\u043d\u044c, \u043c\u044b\u043b\u043e, \u043c\u0430\u0445\u0440\u043e\u0432\u044b\u0435 \u043f\u043e\u043b\u043e\u0442\u0435\u043d\u0446\u0430.\r\n\u041a\u0443\u0445\u043d\u044f: \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u0430\u044f \u043a\u0443\u0445\u043d\u044f, \u0431\u0430\u0440\u043d\u0430\u044f \u0441\u0442\u043e\u0439\u043a\u0430, \u043c\u0438\u043a\u0440\u043e\u0432\u043e\u043b\u043d\u043e\u0432\u0430\u044f \u043f\u0435\u0447\u044c, \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u0447\u0430\u0439\u043d\u0438\u043a, \u0445\u043e\u043b\u043e\u0434\u0438\u043b\u044c\u043d\u0438\u043a, \u043a\u0443\u0445\u043e\u043d\u043d\u044b\u0435 \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u043d\u043e\u0441\u0442\u0438, \u0447\u0430\u0439, \u043a\u043e\u0444\u0435, \u0441\u0430\u0445\u0430\u0440.\r\n\r\n\u041a\u043e\u043c\u043d\u0430\u0442\u0430: \u0433\u043e\u0441\u0442\u0438\u043d\u0430\u044f: \u043c\u044f\u0433\u043a\u0438\u0439 \u0443\u0433\u043e\u043b\u043e\u043a, \u0436\u0443\u0440\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u0441\u0442\u043e\u043b\u0438\u043a, \u043f\u043e\u0434\u0432\u0435\u0441\u043d\u043e\u0439 \u0442\u0435\u043b\u0435\u0432\u0438\u0437\u043e\u0440, \u043a\u043e\u043d\u0434\u0438\u0446\u0438\u043e\u043d\u0435\u0440.\r\n\r\n                 \u0441\u043f\u0430\u043b\u044c\u043d\u044f: \u0434\u0432\u0443\u0441\u043f\u0430\u043b\u044c\u043d\u0430\u044f \u043a\u0440\u043e\u0432\u0430\u0442\u044c, \u0442\u0443\u043c\u0431\u043e\u0447\u043a\u0430, \u0437\u0435\u0440\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \u0448\u043a\u0430\u0444-\u043a\u0443\u043f\u0435, \u0442\u0435\u043b\u0435\u0432\u0438\u0437\u043e\u0440, DVD.", 
       "language_id": 2
     }
   }, 
     }
   }, 
   {
-    "pk": 6, 
+    "pk": 8, 
     "model": "catalogue.apartmenttranslation", 
     "fields": {
-      "master": 6, 
-      "description": "\u041e\u0431\u0449\u0435\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435: \u041f\u0435\u0447\u0435\u0440\u0441\u043a. 2-\u0439 \u044d\u0442\u0430\u0436 9-\u0442\u0438 \u044d\u0442\u0430\u0436\u043d\u043e\u0433\u043e \u0434\u043e\u043c\u0430. \u041f\u0430\u0440\u0430\u0434\u043d\u043e\u0435 \u043d\u0430 \u043a\u043e\u0434\u043e\u0432\u043e\u043c \u0437\u0430\u043c\u043a\u0435 . \u041f\u0430\u0440\u043a\u0438\u043d\u0433. 4 \u043c\u0438\u043d\u0443\u0442\u044b \u0445\u043e\u0434\u044c\u0431\u044b - \u043c\u0435\u0442\u0440\u043e \u00ab\u041f\u0435\u0447\u0435\u0440\u0441\u043a\u0430\u044f\u00bb. \u0420\u044f\u0434\u043e\u043c \u0433\u0430\u0441\u0442\u0440\u043e\u043d\u043e\u043c. \u041f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0443\u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0442\u043e\u0432\u0430\u043d\u0430. \u0415\u0432\u0440\u043e\u0440\u0435\u043c\u043e\u043d\u0442.  \u041f\u043e\u0434\u043e\u0433\u0440\u0435\u0432 \u043f\u043e\u043b\u0430 \u043f\u043e \u0432\u0441\u0435\u0439 \u043a\u0432\u0430\u0440\u0442\u0438\u0440\u0435.\r\n\r\n\u0412\u0430\u043d\u043d\u0430\u044f: \u0441\u0442\u0438\u0440\u0430\u043b\u044c\u043d\u0430\u044f \u043c\u0430\u0448\u0438\u043d\u0430, \u0431\u043e\u0439\u043b\u0435\u0440, \u0444\u0435\u043d, \u0448\u0430\u043c\u043f\u0443\u043d\u044c, \u043c\u044b\u043b\u043e, \u043c\u0430\u0445\u0440\u043e\u0432\u044b\u0435 \u043f\u043e\u043b\u043e\u0442\u0435\u043d\u0446\u0430.\r\n\u041a\u0443\u0445\u043d\u044f: \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u0430\u044f \u043a\u0443\u0445\u043d\u044f, \u0431\u0430\u0440\u043d\u0430\u044f \u0441\u0442\u043e\u0439\u043a\u0430, \u043c\u0438\u043a\u0440\u043e\u0432\u043e\u043b\u043d\u043e\u0432\u0430\u044f \u043f\u0435\u0447\u044c, \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u0447\u0430\u0439\u043d\u0438\u043a, \u0445\u043e\u043b\u043e\u0434\u0438\u043b\u044c\u043d\u0438\u043a, \u043a\u0443\u0445\u043e\u043d\u043d\u044b\u0435 \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u043d\u043e\u0441\u0442\u0438, \u0447\u0430\u0439, \u043a\u043e\u0444\u0435, \u0441\u0430\u0445\u0430\u0440.\r\n\r\n\u041a\u043e\u043c\u043d\u0430\u0442\u0430: \u0433\u043e\u0441\u0442\u0438\u043d\u0430\u044f: \u043c\u044f\u0433\u043a\u0438\u0439 \u0443\u0433\u043e\u043b\u043e\u043a, \u0436\u0443\u0440\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u0441\u0442\u043e\u043b\u0438\u043a, \u043f\u043e\u0434\u0432\u0435\u0441\u043d\u043e\u0439 \u0442\u0435\u043b\u0435\u0432\u0438\u0437\u043e\u0440, \u043a\u043e\u043d\u0434\u0438\u0446\u0438\u043e\u043d\u0435\u0440.\r\n\r\n                 \u0441\u043f\u0430\u043b\u044c\u043d\u044f: \u0434\u0432\u0443\u0441\u043f\u0430\u043b\u044c\u043d\u0430\u044f \u043a\u0440\u043e\u0432\u0430\u0442\u044c, \u0442\u0443\u043c\u0431\u043e\u0447\u043a\u0430, \u0437\u0435\u0440\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \u0448\u043a\u0430\u0444-\u043a\u0443\u043f\u0435, \u0442\u0435\u043b\u0435\u0432\u0438\u0437\u043e\u0440, DVD.", 
+      "master": 8, 
+      "description": "\u041e\u0431\u0449\u0435\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435: \u041d\u043e\u0432\u044b\u0439 \u0434\u043e\u043c. \u0420\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0430 \u043d\u0430 15-\u043e\u043c \u044d\u0442\u0430\u0436\u0435 24-\u0445 \u044d\u0442\u0430\u0436\u043d\u043e\u0433\u043e \u0434\u043e\u043c\u0430. \u041b\u0438\u0444\u0442. \u041e\u0445\u0440\u0430\u043d\u0430, \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440. \u0415\u0432\u0440\u043e\u0440\u0435\u043c\u043e\u043d\u0442. \u0414\u0432\u0430 \u0431\u0430\u043b\u043a\u043e\u043d\u0430. \u041f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0430 \u0438 \u0443\u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0442\u043e\u0432\u0430\u043d\u0430. \u0420\u044f\u0434\u043e\u043c \u0430\u0432\u0442\u043e\u0441\u0442\u043e\u044f\u043d\u043a\u0430, \u043a\u0440\u0443\u0433\u043b\u043e\u0441\u0443\u0442\u043e\u0447\u043d\u044b\u0439 \u0433\u0430\u0441\u0442\u0440\u043e\u043d\u043e\u043c. \u0421\u0442. \u043c. \u00ab\u0412\u043e\u043a\u0437\u0430\u043b\u044c\u043d\u0430\u044f\u00bb - 7 \u043c\u0438\u043d. \u0445\u043e\u0434\u044c\u0431\u044b. \u0418\u043d\u0442\u0435\u0440\u043d\u0435\u0442.\r\n\r\n\u0412\u0430\u043d\u043d\u0430\u044f:  \u0431\u0438\u0434\u0435, \u0434\u0443\u0448\u0435\u0432\u0430\u044f \u043a\u0430\u0431\u0438\u043d\u0430, \u0432\u0430\u043d\u043d\u0430\u043c \u0441 \u0440\u0443\u0447\u043a\u0430\u043c\u0438, \u0441\u0442\u0438\u0440\u0430\u043b\u044c\u043d\u0430\u044f \u043c\u0430\u0448\u0438\u043d\u0430, \u0431\u043e\u0439\u043b\u0435\u0440, \u043f\u043e\u0434\u043e\u0433\u0440\u0435\u0432 \u043f\u043e\u043b\u043e\u0432, \u0444\u0435\u043d, \u043c\u0430\u0445\u0440\u043e\u0432\u044b\u0435 \u043f\u043e\u043b\u043e\u0442\u0435\u043d\u0446\u0430, \u0448\u0430\u043c\u043f\u0443\u043d\u044c, \u0433\u0435\u043b\u044c \u0434\u043b\u044f \u0434\u0443\u0448\u0430, \u043c\u044b\u043b\u043e.\r\n\r\n\u041a\u0443\u0445\u043d\u044f: \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u0430\u044f \u043a\u0443\u0445\u043d\u044f, \u0441\u0442\u043e\u043b, \u043c\u0438\u043a\u0440\u043e\u0432\u043e\u043b\u043d\u043e\u0432\u0430\u044f \u043f\u0435\u0447\u044c, \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u0447\u0430\u0439\u043d\u0438\u043a, \u0445\u043e\u043b\u043e\u0434\u0438\u043b\u044c\u043d\u0438\u043a, \u0440\u0430\u0441\u043a\u043b\u0430\u0434\u043d\u043e\u0439 \u0434\u0438\u0432\u0430\u043d, \u043f\u043b\u0430\u0437\u043c\u0435\u043d\u043d\u044b\u0439 \u0442\u0435\u043b\u0435\u0432\u0438\u0437\u043e\u0440, \u043a\u043e\u043d\u0434\u0438\u0446\u0438\u043e\u043d\u0435\u0440, \u043a\u0443\u0445\u043e\u043d\u043d\u044b\u0435 \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u043d\u043e\u0441\u0442\u0438, \u0447\u0430\u0439, \u043a\u043e\u0444\u0435, \u0441\u0430\u0445\u0430\u0440.\r\n\r\n\u041a\u043e\u043c\u043d\u0430\u0442\u0430:  \u0440\u0430\u0441\u043a\u043b\u0430\u0434\u043d\u043e\u0439 \u0434\u0438\u0432\u0430\u043d, \u0440\u0430\u0441\u043a\u043b\u0430\u0434\u043d\u043e\u0435 \u043a\u0440\u0435\u0441\u043b\u043e, \u0436\u0443\u0440\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u0441\u0442\u043e\u043b\u0438\u043a, \u0442\u0435\u043b\u0435\u0432\u0438\u0437\u043e\u0440, DVD.", 
       "language_id": 2
     }
   }, 
   {
-    "pk": 5, 
+    "pk": 9, 
     "model": "catalogue.apartmenttranslation", 
     "fields": {
-      "master": 5, 
-      "description": "\u041e\u0431\u0449\u0435\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435: \u0420\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0430 \u043d\u0430 3-\u0435\u043c \u044d\u0442\u0430\u0436\u0435 5-\u0442\u0438 \u044d\u0442\u0430\u0436\u043d\u043e\u0433\u043e \u043a\u0438\u0440\u043f\u0438\u0447\u043d\u043e\u0433\u043e \u0434\u043e\u043c\u0430. \u041f\u0430\u0440\u0430\u0434\u043d\u043e\u0435 \u043d\u0430 \u043a\u043e\u0434\u043e\u0432\u043e\u043c \u0437\u0430\u043c\u043a\u0435. \u0415\u0432\u0440\u043e\u0440\u0435\u043c\u043e\u043d\u0442. \u0418\u043d\u0442\u0435\u0440\u043d\u0435\u0442. \u041f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0443\u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0442\u043e\u0432\u0430\u043d\u0430. \u0420\u044f\u0434\u043e\u043c \u043a\u0440\u0443\u0433\u043b\u043e\u0441\u0443\u0442\u043e\u0447\u043d\u044b\u0439 \u0433\u0430\u0441\u0442\u0440\u043e\u043d\u043e\u043c.\r\n\r\n\u0412\u0430\u043d\u043d\u0430\u044f: \u0443\u0433\u043b\u043e\u0432\u0430\u044f \u0432\u0430\u043d\u043d\u0430, \u0441\u0442\u0438\u0440\u0430\u043b\u044c\u043d\u0430\u044f \u043c\u0430\u0448\u0438\u043d\u0430, \u0431\u043e\u0439\u043b\u0435\u0440, \u0444\u0435\u043d, \u0448\u0430\u043c\u043f\u0443\u043d\u044c, \u043c\u044b\u043b\u043e, \u043c\u0430\u0445\u0440\u043e\u0432\u044b\u0435 \u043f\u043e\u043b\u043e\u0442\u0435\u043d\u0446\u0430.\r\n\r\n\u041a\u0443\u0445\u043d\u044f: \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u0430\u044f \u043a\u0443\u0445\u043d\u044f, \u0441\u0442\u043e\u043b, \u043c\u0438\u043a\u0440\u043e\u0432\u043e\u043b\u043d\u043e\u0432\u0430\u044f \u043f\u0435\u0447\u044c, \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u0447\u0430\u0439\u043d\u0438\u043a, \u0445\u043e\u043b\u043e\u0434\u0438\u043b\u044c\u043d\u0438\u043a, \u043a\u0443\u0445\u043e\u043d\u043d\u044b\u0435 \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u043d\u043e\u0441\u0442\u0438, \u0447\u0430\u0439, \u043a\u043e\u0444\u0435, \u0441\u0430\u0445\u0430\u0440.\r\n\u041a\u043e\u043c\u043d\u0430\u0442\u0430: \u0433\u043e\u0441\u0442\u0438\u043d\u0430\u044f: \u0440\u0430\u0441\u043a\u043b\u0430\u0434\u043d\u043e\u0439 \u043a\u043e\u0436\u0430\u043d\u044b\u0439 \u043c\u044f\u0433\u043a\u0438\u0439 \u0443\u0433\u043e\u043b\u043e\u043a, \u0437\u0435\u0440\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \u0448\u043a\u0430\u0444-\u043a\u0443\u043f\u0435, \u0442\u0435\u043b\u0435\u0432\u0438\u0437\u043e\u0440, DVD,  \u043a\u043e\u043d\u0434\u0438\u0446\u0438\u043e\u043d\u0435\u0440.\r\n\r\n                 \u0441\u043f\u0430\u043b\u044c\u043d\u044f: \u0434\u0432\u0443\u0441\u043f\u0430\u043b\u044c\u043d\u0430\u044f \u043a\u0440\u043e\u0432\u0430\u0442\u044c, \u043f\u0440\u0438\u043a\u0440\u043e\u0432\u0430\u0442\u043d\u044b\u0435 \u043f\u043e\u043b\u043e\u0447\u043a\u0438, \u0437\u0435\u0440\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \u0448\u043a\u0430\u0444-\u043a\u0443\u043f\u0435.", 
-      "language_id": 2
-    }
-  }, 
-  {
-    "pk": 4, 
-    "model": "catalogue.apartmenttranslation", 
-    "fields": {
-      "master": 4, 
-      "description": "\u041e\u0431\u0449\u0435\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435: \u0420\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0430 \u043d\u0430 7-\u043e\u043c \u044d\u0442\u0430\u0436\u0435 9-\u0442\u0438 \u044d\u0442\u0430\u0436\u043d\u043e\u0433\u043e \u043a\u0438\u0440\u043f\u0438\u0447\u043d\u043e\u0433\u043e \u0434\u043e\u043c\u0430. \u041f\u0430\u0440\u0430\u0434\u043d\u043e\u0435 \u043d\u0430 \u043c\u0430\u0433\u043d\u0438\u0442\u043d\u043e\u043c \u0437\u0430\u043c\u043a\u0435. \u0415\u0432\u0440\u043e\u0440\u0435\u043c\u043e\u043d\u0442. \u0411\u0430\u043b\u043a\u043e\u043d. \u0418\u043d\u0442\u0435\u0440\u043d\u0435\u0442. \u041f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0443\u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0442\u043e\u0432\u0430\u043d\u0430.\r\n\r\n\u0412\u0430\u043d\u043d\u0430\u044f: \u0441/\u0443 \u0440\u0430\u0437\u0434\u0435\u043b\u044c\u043d\u044b\u0439, \u0431\u043e\u0439\u043b\u0435\u0440, \u0444\u0435\u043d, \u0448\u0430\u043c\u043f\u0443\u043d\u044c, \u043c\u044b\u043b\u043e, \u043c\u0430\u0445\u0440\u043e\u0432\u044b\u0435 \u043f\u043e\u043b\u043e\u0442\u0435\u043d\u0446\u0430.\r\n\u041a\u0443\u0445\u043d\u044f: \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u0430\u044f \u043a\u0443\u0445\u043d\u044f, \u0441\u0442\u043e\u043b, \u0441\u0442\u0438\u0440\u0430\u043b\u044c\u043d\u0430\u044f \u043c\u0430\u0448\u0438\u043d\u0430, \u043c\u0438\u043a\u0440\u043e\u0432\u043e\u043b\u043d\u043e\u0432\u0430\u044f \u043f\u0435\u0447\u044c, \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u0447\u0430\u0439\u043d\u0438\u043a, \u0445\u043e\u043b\u043e\u0434\u0438\u043b\u044c\u043d\u0438\u043a, \u043a\u0443\u0445\u043e\u043d\u043d\u044b\u0435 \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u043d\u043e\u0441\u0442\u0438, \u0447\u0430\u0439, \u043a\u043e\u0444\u0435, \u0441\u0430\u0445\u0430\u0440.\r\n\r\n\u041a\u043e\u043c\u043d\u0430\u0442\u0430: \u0434\u0432\u0443\u0441\u043f\u0430\u043b\u044c\u043d\u0430\u044f \u043a\u0440\u043e\u0432\u0430\u0442\u044c, \u0440\u0430\u0441\u043a\u043b\u0430\u0434\u043d\u043e\u0439 \u0434\u0438\u0432\u0430\u043d, \u0436\u0443\u0440\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u0441\u0442\u043e\u043b\u0438\u043a, \u043f\u043b\u0430\u0437\u043c\u0435\u043d\u043d\u044b\u0439 \u0442\u0435\u043b\u0435\u0432\u0438\u0437\u043e\u0440,\u043a\u043e\u043d\u0434\u0438\u0446\u0438\u043e\u043d\u0435\u0440, \u043a\u0430\u043c\u0438\u043d.", 
+      "master": 9, 
+      "description": "\u041e\u0431\u0449\u0435\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435:  \u041d\u043e\u0432\u044b\u0439 \u0434\u043e\u043c. \u0420\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0430 \u043d\u0430 8-\u043e\u043c \u044d\u0442\u0430\u0436\u0435 24-\u0445 \u044d\u0442\u0430\u0436\u043d\u043e\u0433\u043e \u0434\u043e\u043c\u0430. \u0414\u0432\u0430 \u043b\u0438\u0444\u0442\u0430. \u041e\u0445\u0440\u0430\u043d\u0430, \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440. \u0415\u0432\u0440\u043e\u0440\u0435\u043c\u043e\u043d\u0442. \u0411\u0430\u043b\u043a\u043e\u043d. \u0418\u043d\u0442\u0435\u0440\u043d\u0435\u0442 (wi-fi). \u041f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0430 \u0438 \u0443\u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0442\u043e\u0432\u0430\u043d\u0430. \u0420\u044f\u0434\u043e\u043c \u0430\u0432\u0442\u043e\u0441\u0442\u043e\u044f\u043d\u043a\u0430, \u043a\u0440\u0443\u0433\u043b\u043e\u0441\u0443\u0442\u043e\u0447\u043d\u044b\u0439 \u0433\u0430\u0441\u0442\u0440\u043e\u043d\u043e\u043c. \u0421\u0442. \u043c. \u00ab\u0412\u043e\u043a\u0437\u0430\u043b\u044c\u043d\u0430\u044f\u00bb - 7 \u043c\u0438\u043d. \u0445\u043e\u0434\u044c\u0431\u044b. \r\n\r\n\u0412\u0430\u043d\u043d\u0430\u044f:  \u0434\u0443\u0448\u0435\u0432\u0430\u044f \u043a\u0430\u0431\u0438\u043d\u0430, \u0431\u0438\u0434\u0435, \u0441\u0442\u0438\u0440\u0430\u043b\u044c\u043d\u0430\u044f \u043c\u0430\u0448\u0438\u043d\u0430, \u0444\u0435\u043d, \u043c\u0430\u0445\u0440\u043e\u0432\u044b\u0435 \u043f\u043e\u043b\u043e\u0442\u0435\u043d\u0446\u0430, \u0448\u0430\u043c\u043f\u0443\u043d\u044c, \u0433\u0435\u043b\u044c \u0434\u043b\u044f \u0434\u0443\u0448\u0430, \u043c\u044b\u043b\u043e.\r\n\r\n\u041a\u0443\u0445\u043d\u044f:  \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u0430\u044f \u043a\u0443\u0445\u043d\u044f, \u043e\u0431\u0435\u0434\u0435\u043d\u043d\u044b\u0439 \u0441\u0442\u043e\u043b, \u043c\u0438\u043a\u0440\u043e\u0432\u043e\u043b\u043d\u043e\u0432\u0430\u044f \u043f\u0435\u0447\u044c, \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u0447\u0430\u0439\u043d\u0438\u043a,  \u0445\u043e\u043b\u043e\u0434\u0438\u043b\u044c\u043d\u0438\u043a, \u043a\u0443\u0445\u043e\u043d\u043d\u044b\u0435 \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u043d\u043e\u0441\u0442\u0438, \u0447\u0430\u0439, \u043a\u043e\u0444\u0435, \u0441\u0430\u0445\u0430\u0440.\r\n\r\n\u041a\u043e\u043c\u043d\u0430\u0442\u0430:  \u0433\u043e\u0441\u0442\u0438\u043d\u0430\u044f: \u0440\u0430\u0441\u043a\u043b\u0430\u0434\u043d\u043e\u0439 \u0434\u0438\u0432\u0430\u043d, \u043a\u0440\u0435\u0441\u043b\u043e, \u0436\u0443\u0440\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u0441\u0442\u043e\u043b\u0438\u043a, \u043f\u043b\u0430\u0437\u043c\u0435\u043d\u043d\u044b\u0439 \u0442\u0435\u043b\u0435\u0432\u0438\u0437\u043e\u0440, DVD, \u043a\u043e\u043d\u0434\u0438\u0446\u0438\u043e\u043d\u0435\u0440\r\n\r\n                  \u0441\u043f\u0430\u043b\u044c\u043d\u044f: \u0434\u0432\u0443\u0441\u043f\u0430\u043b\u044c\u043d\u0430\u044f \u043a\u0440\u043e\u0432\u0430\u0442\u044c, \u043f\u0440\u0438\u043a\u0440\u043e\u0432\u0430\u0442\u043d\u044b\u0435 \u0442\u0443\u043c\u0431\u043e\u0447\u043a\u0438, \u0442\u0435\u043b\u0435\u0432\u0438\u0437\u043e\u0440.", 
       "language_id": 2
     }
   }, 
     }
   }, 
   {
-    "pk": 9, 
-    "model": "catalogue.apartmenttranslation", 
-    "fields": {
-      "master": 9, 
-      "description": "\u041e\u0431\u0449\u0435\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435:  \u041d\u043e\u0432\u044b\u0439 \u0434\u043e\u043c. \u0420\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0430 \u043d\u0430 8-\u043e\u043c \u044d\u0442\u0430\u0436\u0435 24-\u0445 \u044d\u0442\u0430\u0436\u043d\u043e\u0433\u043e \u0434\u043e\u043c\u0430. \u0414\u0432\u0430 \u043b\u0438\u0444\u0442\u0430. \u041e\u0445\u0440\u0430\u043d\u0430, \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440. \u0415\u0432\u0440\u043e\u0440\u0435\u043c\u043e\u043d\u0442. \u0411\u0430\u043b\u043a\u043e\u043d. \u0418\u043d\u0442\u0435\u0440\u043d\u0435\u0442 (wi-fi). \u041f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0430 \u0438 \u0443\u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0442\u043e\u0432\u0430\u043d\u0430. \u0420\u044f\u0434\u043e\u043c \u0430\u0432\u0442\u043e\u0441\u0442\u043e\u044f\u043d\u043a\u0430, \u043a\u0440\u0443\u0433\u043b\u043e\u0441\u0443\u0442\u043e\u0447\u043d\u044b\u0439 \u0433\u0430\u0441\u0442\u0440\u043e\u043d\u043e\u043c. \u0421\u0442. \u043c. \u00ab\u0412\u043e\u043a\u0437\u0430\u043b\u044c\u043d\u0430\u044f\u00bb - 7 \u043c\u0438\u043d. \u0445\u043e\u0434\u044c\u0431\u044b. \r\n\r\n\u0412\u0430\u043d\u043d\u0430\u044f:  \u0434\u0443\u0448\u0435\u0432\u0430\u044f \u043a\u0430\u0431\u0438\u043d\u0430, \u0431\u0438\u0434\u0435, \u0441\u0442\u0438\u0440\u0430\u043b\u044c\u043d\u0430\u044f \u043c\u0430\u0448\u0438\u043d\u0430, \u0444\u0435\u043d, \u043c\u0430\u0445\u0440\u043e\u0432\u044b\u0435 \u043f\u043e\u043b\u043e\u0442\u0435\u043d\u0446\u0430, \u0448\u0430\u043c\u043f\u0443\u043d\u044c, \u0433\u0435\u043b\u044c \u0434\u043b\u044f \u0434\u0443\u0448\u0430, \u043c\u044b\u043b\u043e.\r\n\r\n\u041a\u0443\u0445\u043d\u044f:  \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u0430\u044f \u043a\u0443\u0445\u043d\u044f, \u043e\u0431\u0435\u0434\u0435\u043d\u043d\u044b\u0439 \u0441\u0442\u043e\u043b, \u043c\u0438\u043a\u0440\u043e\u0432\u043e\u043b\u043d\u043e\u0432\u0430\u044f \u043f\u0435\u0447\u044c, \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u0447\u0430\u0439\u043d\u0438\u043a,  \u0445\u043e\u043b\u043e\u0434\u0438\u043b\u044c\u043d\u0438\u043a, \u043a\u0443\u0445\u043e\u043d\u043d\u044b\u0435 \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u043d\u043e\u0441\u0442\u0438, \u0447\u0430\u0439, \u043a\u043e\u0444\u0435, \u0441\u0430\u0445\u0430\u0440.\r\n\r\n\u041a\u043e\u043c\u043d\u0430\u0442\u0430:  \u0433\u043e\u0441\u0442\u0438\u043d\u0430\u044f: \u0440\u0430\u0441\u043a\u043b\u0430\u0434\u043d\u043e\u0439 \u0434\u0438\u0432\u0430\u043d, \u043a\u0440\u0435\u0441\u043b\u043e, \u0436\u0443\u0440\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u0441\u0442\u043e\u043b\u0438\u043a, \u043f\u043b\u0430\u0437\u043c\u0435\u043d\u043d\u044b\u0439 \u0442\u0435\u043b\u0435\u0432\u0438\u0437\u043e\u0440, DVD, \u043a\u043e\u043d\u0434\u0438\u0446\u0438\u043e\u043d\u0435\u0440\r\n\r\n                  \u0441\u043f\u0430\u043b\u044c\u043d\u044f: \u0434\u0432\u0443\u0441\u043f\u0430\u043b\u044c\u043d\u0430\u044f \u043a\u0440\u043e\u0432\u0430\u0442\u044c, \u043f\u0440\u0438\u043a\u0440\u043e\u0432\u0430\u0442\u043d\u044b\u0435 \u0442\u0443\u043c\u0431\u043e\u0447\u043a\u0438, \u0442\u0435\u043b\u0435\u0432\u0438\u0437\u043e\u0440.", 
-      "language_id": 2
-    }
-  }, 
-  {
-    "pk": 3, 
-    "model": "catalogue.apartmenttranslation", 
-    "fields": {
-      "master": 3, 
-      "description": "\u041e\u0431\u0449\u0435\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435: \u0420\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0430 \u043d\u0430 4-\u043e\u043c \u044d\u0442\u0430\u0436\u0435 5-\u0442\u0438 \u044d\u0442\u0430\u0436\u043d\u043e\u0433\u043e \u043a\u0438\u0440\u043f\u0438\u0447\u043d\u043e\u0433\u043e \u0434\u043e\u043c\u0430. \u041f\u0430\u0440\u0430\u0434\u043d\u043e\u0435 \u043d\u0430 \u043a\u043e\u0434\u043e\u0432\u043e\u043c \u0437\u0430\u043c\u043a\u0435. \u0418\u043d\u0442\u0435\u0440\u043d\u0435\u0442. \u041f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0443\u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0442\u043e\u0432\u0430\u043d\u0430. \u0420\u044f\u0434\u043e\u043c \u043a\u0440\u0443\u0433\u043b\u043e\u0441\u0443\u0442\u043e\u0447\u043d\u044b\u0439 \u0433\u0430\u0441\u0442\u0440\u043e\u043d\u043e\u043c. \r\n\r\n\u0412\u0430\u043d\u043d\u0430\u044f:  \u0441\u0442\u0438\u0440\u0430\u043b\u044c\u043d\u0430\u044f \u043c\u0430\u0448\u0438\u043d\u0430, \u0444\u0435\u043d, \u0448\u0430\u043c\u043f\u0443\u043d\u044c, \u043c\u044b\u043b\u043e, \u043c\u0430\u0445\u0440\u043e\u0432\u044b\u0435 \u043f\u043e\u043b\u043e\u0442\u0435\u043d\u0446\u0430.\r\n\r\n\u041a\u0443\u0445\u043d\u044f: \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u0430\u044f \u043a\u0443\u0445\u043d\u044f, \u0441\u0442\u043e\u043b,  \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u0447\u0430\u0439\u043d\u0438\u043a, \u0445\u043e\u043b\u043e\u0434\u0438\u043b\u044c\u043d\u0438\u043a, \u043a\u0443\u0445\u043e\u043d\u043d\u044b\u0435 \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u043d\u043e\u0441\u0442\u0438, \u0447\u0430\u0439, \u043a\u043e\u0444\u0435, \u0441\u0430\u0445\u0430\u0440.\r\n\u041a\u043e\u043c\u043d\u0430\u0442\u0430: \u0434\u0432\u0443\u0441\u043f\u0430\u043b\u044c\u043d\u0430\u044f \u043a\u0440\u043e\u0432\u0430\u0442\u044c, 2 \u0440\u0430\u0441\u043a\u043b\u0430\u0434\u043d\u044b\u0445 \u043a\u0440\u0435\u0441\u043b\u0430, \u0440\u0430\u0441\u043a\u043b\u0430\u0434\u043d\u043e\u0439 \u0434\u0438\u0432\u0430\u043d, \u0448\u043a\u0430\u0444, \u0442\u0435\u043b\u0435\u0432\u0438\u0437\u043e\u0440.", 
-      "language_id": 2
-    }
-  }, 
-  {
-    "pk": 2, 
-    "model": "catalogue.apartmenttranslation", 
-    "fields": {
-      "master": 1, 
-      "description": "\u0412\u0441\u0442\u0430\u0432\u044c \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0441\u0434\u0435\u0441\u044c.", 
-      "language_id": 2
-    }
-  }, 
-  {
     "pk": 1, 
     "model": "catalogue.apartment", 
     "fields": {
       "entrance": null, 
       "code": "", 
       "layout": "s", 
-      "price_euro": "80.00", 
-      "created_at": "2009-12-03 14:39:57", 
+      "price_euro": "80", 
+      "image": "", 
       "floor": null, 
       "number": 1, 
       "map_link": null, 
       "price_rur": null, 
-      "price_usd": "100.00", 
+      "price_usd": "100", 
       "rooms": 1, 
       "floors": null, 
-      "price_uah": "800.00", 
+      "price_uah": "800", 
       "level": 3, 
+      "created_at": "2009-12-03 14:39:57", 
       "updateted_at": "2009-12-29 10:55:47"
     }
   }, 
   {
-    "pk": 2, 
-    "model": "catalogue.apartment", 
-    "fields": {
-      "building": 1, 
-      "entrance": null, 
-      "code": "", 
-      "layout": "s", 
-      "price_euro": null, 
-      "created_at": "2009-12-03 22:42:02", 
-      "floor": null, 
-      "number": 2, 
-      "map_link": null, 
-      "price_rur": null, 
-      "price_usd": null, 
-      "rooms": 1, 
-      "floors": null, 
-      "price_uah": "1000.00", 
-      "level": 1, 
-      "updateted_at": "2010-01-07 19:27:50"
-    }
-  }, 
-  {
     "pk": 3, 
     "model": "catalogue.apartment", 
     "fields": {
       "entrance": null, 
       "code": "", 
       "layout": "s", 
-      "price_euro": "45.00", 
-      "created_at": "2009-12-07 22:31:49", 
+      "price_euro": "45", 
+      "image": "", 
       "floor": null, 
       "number": null, 
       "map_link": null, 
       "price_rur": null, 
-      "price_usd": "55.00", 
+      "price_usd": "55", 
       "rooms": 1, 
       "floors": null, 
-      "price_uah": "500.00", 
+      "price_uah": "500", 
       "level": 1, 
+      "created_at": "2009-12-07 22:31:49", 
       "updateted_at": "2009-12-29 18:41:58"
     }
   }, 
   {
+    "pk": 5, 
+    "model": "catalogue.apartment", 
+    "fields": {
+      "building": 3, 
+      "entrance": null, 
+      "code": "", 
+      "layout": "s", 
+      "price_euro": "60", 
+      "image": "", 
+      "floor": null, 
+      "number": null, 
+      "map_link": null, 
+      "price_rur": null, 
+      "price_usd": "75", 
+      "rooms": 2, 
+      "floors": null, 
+      "price_uah": "675", 
+      "level": 1, 
+      "created_at": "2009-12-07 22:39:19", 
+      "updateted_at": "2009-12-29 18:36:22"
+    }
+  }, 
+  {
     "pk": 4, 
     "model": "catalogue.apartment", 
     "fields": {
       "entrance": null, 
       "code": "", 
       "layout": "s", 
-      "price_euro": "55.00", 
-      "created_at": "2009-12-07 22:33:34", 
+      "price_euro": "55", 
+      "image": "", 
       "floor": null, 
       "number": null, 
       "map_link": null, 
       "price_rur": null, 
-      "price_usd": "70.00", 
+      "price_usd": "70", 
       "rooms": 1, 
       "floors": null, 
-      "price_uah": "630.00", 
+      "price_uah": "630", 
       "level": 1, 
+      "created_at": "2009-12-07 22:33:34", 
       "updateted_at": "2009-12-07 22:33:34"
     }
   }, 
   {
-    "pk": 5, 
-    "model": "catalogue.apartment", 
-    "fields": {
-      "building": 3, 
-      "entrance": null, 
-      "code": "", 
-      "layout": "s", 
-      "price_euro": "60.00", 
-      "created_at": "2009-12-07 22:39:19", 
-      "floor": null, 
-      "number": null, 
-      "map_link": null, 
-      "price_rur": null, 
-      "price_usd": "75.00", 
-      "rooms": 2, 
-      "floors": null, 
-      "price_uah": "675.00", 
-      "level": 1, 
-      "updateted_at": "2009-12-29 18:36:22"
-    }
-  }, 
-  {
     "pk": 6, 
     "model": "catalogue.apartment", 
     "fields": {
       "entrance": null, 
       "code": "", 
       "layout": "s", 
-      "price_euro": "65.00", 
-      "created_at": "2009-12-07 22:40:59", 
+      "price_euro": "65", 
+      "image": "", 
       "floor": null, 
       "number": null, 
       "map_link": null, 
       "price_rur": null, 
-      "price_usd": "80.00", 
+      "price_usd": "80", 
       "rooms": 2, 
       "floors": null, 
-      "price_uah": "720.00", 
+      "price_uah": "720", 
       "level": 1, 
+      "created_at": "2009-12-07 22:40:59", 
       "updateted_at": "2009-12-07 22:41:17"
     }
   }, 
       "entrance": null, 
       "code": "", 
       "layout": "s", 
-      "price_euro": "70.00", 
-      "created_at": "2009-12-07 22:44:45", 
+      "price_euro": "70", 
+      "image": "", 
       "floor": null, 
       "number": null, 
       "map_link": null, 
       "price_rur": null, 
-      "price_usd": "90.00", 
+      "price_usd": "90", 
       "rooms": 2, 
       "floors": null, 
-      "price_uah": "810.00", 
+      "price_uah": "810", 
       "level": 1, 
+      "created_at": "2009-12-07 22:44:45", 
       "updateted_at": "2009-12-07 22:44:45"
     }
   }, 
       "entrance": null, 
       "code": "", 
       "layout": "s", 
-      "price_euro": "115.00", 
-      "created_at": "2009-12-07 22:45:56", 
+      "price_euro": "115", 
+      "image": "", 
       "floor": null, 
       "number": null, 
       "map_link": null, 
       "price_rur": null, 
-      "price_usd": "150.00", 
+      "price_usd": "150", 
       "rooms": 1, 
       "floors": null, 
-      "price_uah": "1350.00", 
+      "price_uah": "1350", 
       "level": 1, 
+      "created_at": "2009-12-07 22:45:56", 
       "updateted_at": "2009-12-07 22:45:56"
     }
   }, 
       "entrance": null, 
       "code": "", 
       "layout": "s", 
-      "price_euro": "155.00", 
-      "created_at": "2009-12-07 22:47:24", 
+      "price_euro": "155", 
+      "image": "", 
       "floor": null, 
       "number": null, 
       "map_link": null, 
       "price_rur": null, 
-      "price_usd": "200.00", 
+      "price_usd": "200", 
       "rooms": 2, 
       "floors": null, 
-      "price_uah": "1350.00", 
+      "price_uah": "1350", 
       "level": 1, 
+      "created_at": "2009-12-07 22:47:24", 
       "updateted_at": "2009-12-07 22:47:24"
     }
   }, 
       "entrance": null, 
       "code": "", 
       "layout": "s", 
-      "price_euro": "80.00", 
-      "created_at": "2009-12-07 22:48:48", 
+      "price_euro": "80", 
+      "image": "", 
       "floor": null, 
       "number": null, 
       "map_link": null, 
       "price_rur": null, 
-      "price_usd": "100.00", 
+      "price_usd": "100", 
       "rooms": 3, 
       "floors": null, 
-      "price_uah": "900.00", 
+      "price_uah": "900", 
       "level": 1, 
+      "created_at": "2009-12-07 22:48:48", 
       "updateted_at": "2009-12-29 22:16:26"
     }
   }, 
       "entrance": null, 
       "code": "1000", 
       "layout": "s", 
-      "price_euro": "60.00", 
-      "created_at": "2009-12-08 12:44:01", 
+      "price_euro": "60", 
+      "image": "", 
       "floor": null, 
       "number": null, 
       "map_link": "http://www.google.com/maps/ms?ie=UTF8&hl=ru&msa=0&msid=109743143665783141225.00047a686e0ddde2bff05&ll=50.447766,30.493965&spn=0.001052,0.005493&t=h&z=18", 
       "price_rur": null, 
-      "price_usd": "100.00", 
+      "price_usd": "100", 
       "rooms": 1, 
       "floors": null, 
-      "price_uah": "900.00", 
+      "price_uah": "900", 
       "level": 1, 
+      "created_at": "2009-12-08 12:44:01", 
       "updateted_at": "2010-01-15 22:30:41"
     }
   }, 
   {
+    "pk": 2, 
+    "model": "catalogue.apartment", 
+    "fields": {
+      "building": 1, 
+      "entrance": null, 
+      "code": "101", 
+      "layout": "s", 
+      "price_euro": "90.91", 
+      "image": "", 
+      "floor": null, 
+      "number": null, 
+      "map_link": "http://maps.google.com/", 
+      "price_rur": "2565", 
+      "price_usd": "123.46", 
+      "rooms": 1, 
+      "floors": null, 
+      "price_uah": "1000", 
+      "level": 1, 
+      "created_at": "2009-12-03 22:42:02", 
+      "updateted_at": "2010-02-08 13:57:02"
+    }
+  }, 
+  {
     "pk": 1, 
     "model": "catalogue.apartmentimage", 
     "fields": {
     }
   }, 
   {
+    "pk": 7, 
+    "model": "catalogue.bonus", 
+    "fields": {
+      "bonus_type": 5, 
+      "apartment": 5, 
+      "value": "1"
+    }
+  }, 
+  {
+    "pk": 4, 
+    "model": "catalogue.bonus", 
+    "fields": {
+      "bonus_type": 4, 
+      "apartment": 3, 
+      "value": "\u0440\u0430\u0441\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u044e\u0449\u0438\u0439\u0441\u044f"
+    }
+  }, 
+  {
+    "pk": 6, 
+    "model": "catalogue.bonus", 
+    "fields": {
+      "bonus_type": 4, 
+      "apartment": 5, 
+      "value": "\u0440\u0430\u0441\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u044e\u0449\u0438\u0439\u0441\u044f"
+    }
+  }, 
+  {
+    "pk": 5, 
+    "model": "catalogue.bonus", 
+    "fields": {
+      "bonus_type": 1, 
+      "apartment": 3, 
+      "value": "1"
+    }
+  }, 
+  {
+    "pk": 8, 
+    "model": "catalogue.bonus", 
+    "fields": {
+      "bonus_type": 1, 
+      "apartment": 10, 
+      "value": "1"
+    }
+  }, 
+  {
     "pk": 2, 
     "model": "catalogue.bonus", 
     "fields": {
     }
   }, 
   {
-    "pk": 4, 
-    "model": "catalogue.bonus", 
+    "pk": 3, 
+    "model": "catalogue.currency", 
     "fields": {
-      "bonus_type": 4, 
-      "apartment": 3, 
-      "value": "\u0440\u0430\u0441\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u044e\u0449\u0438\u0439\u0441\u044f"
+      "exchange_rate": 0.39000000000000001, 
+      "symbol": "", 
+      "code": "rur"
     }
   }, 
   {
-    "pk": 5, 
-    "model": "catalogue.bonus", 
+    "pk": 2, 
+    "model": "catalogue.currency", 
     "fields": {
-      "bonus_type": 1, 
-      "apartment": 3, 
-      "value": "1"
+      "exchange_rate": 8.0999999999999996, 
+      "symbol": "", 
+      "code": "usd"
     }
   }, 
   {
-    "pk": 7, 
-    "model": "catalogue.bonus", 
+    "pk": 1, 
+    "model": "catalogue.currency", 
     "fields": {
-      "bonus_type": 5, 
-      "apartment": 5, 
-      "value": "1"
-    }
-  }, 
-  {
-    "pk": 6, 
-    "model": "catalogue.bonus", 
-    "fields": {
-      "bonus_type": 4, 
-      "apartment": 5, 
-      "value": "\u0440\u0430\u0441\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u044e\u0449\u0438\u0439\u0441\u044f"
-    }
-  }, 
-  {
-    "pk": 8, 
-    "model": "catalogue.bonus", 
-    "fields": {
-      "bonus_type": 1, 
-      "apartment": 10, 
-      "value": "1"
+      "exchange_rate": 11.0, 
+      "symbol": "", 
+      "code": "euro"
     }
   }
 ]

catalogue/migrations/0015_add_currency_model.py

+
+from south.db import db
+from django.db import models
+from catalogue.models import *
+
+class Migration:
+    
+    def forwards(self, orm):
+        
+        # Adding model 'Currency'
+        db.create_table('catalogue_currency', (
+            ('id', orm['catalogue.currency:id']),
+            ('code', orm['catalogue.currency:code']),
+            ('exchange_rate', orm['catalogue.currency:exchange_rate']),
+            ('symbol', orm['catalogue.currency:symbol']),
+        ))
+        db.send_create_signal('catalogue', ['Currency'])
+        
+    
+    
+    def backwards(self, orm):
+        
+        # Deleting model 'Currency'
+        db.delete_table('catalogue_currency')
+        
+    
+    
+    models = {
+        'catalogue.apartment': {
+            'Meta': {'unique_together': "(('number', 'building'),)"},
+            'building': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['catalogue.Building']"}),
+            'code': ('django.db.models.fields.CharField', [], {'max_length': '3', 'unique': 'True', 'null': 'True'}),
+            'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'entrance': ('django.db.models.fields.PositiveSmallIntegerField', [], {'null': 'True', 'blank': 'True'}),
+            'floor': ('django.db.models.fields.PositiveSmallIntegerField', [], {'null': 'True', 'blank': 'True'}),
+            'floors': ('django.db.models.fields.PositiveSmallIntegerField', [], {'null': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'image': ('ImageWithThumbField', [], {'storage': 'image_strorage_obj', 'max_length': '255', 'blank': 'True', 'null': 'True'}),
+            'layout': ('django.db.models.fields.CharField', [], {'default': "'s'", 'max_length': '1'}),
+            'level': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '1'}),
+            'map_link': ('django.db.models.fields.URLField', [], {'max_length': '255', 'null': 'True'}),
+            'number': ('django.db.models.fields.PositiveSmallIntegerField', [], {'null': 'True', 'blank': 'True'}),
+            'price_euro': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '6', 'decimal_places': '2', 'blank': 'True'}),
+            'price_rur': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '6', 'decimal_places': '2', 'blank': 'True'}),
+            'price_uah': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '6', 'decimal_places': '2'}),
+            'price_usd': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '6', 'decimal_places': '2', 'blank': 'True'}),
+            'rooms': ('django.db.models.fields.PositiveSmallIntegerField', [], {'null': 'True', 'blank': 'True'}),
+            'updateted_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
+        },
+        'catalogue.apartmentimage': {
+            'apartment': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['catalogue.Apartment']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'image': ('ImageWithThumbField', [], {'storage': 'image_strorage_obj', 'max_length': '255', 'blank': 'True'})
+        },
+        'catalogue.apartmenttranslation': {
+            'Meta': {'unique_together': "(('language_id', 'master'),)", 'db_table': "'catalogue_apartment_translation'"},
+            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'language_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True'}),
+            'master': ('multilingual.fields.TranslationForeignKey', [], {'related_name': "'translations'", 'to': "orm['catalogue.Apartment']"})
+        },
+        'catalogue.bonus': {
+            'Meta': {'unique_together': "(('apartment', 'bonus_type'),)"},
+            'apartment': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['catalogue.Apartment']"}),
+            'bonus_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['catalogue.BonusType']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'value': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'})
+        },
+        'catalogue.bonustype': {
+            'field': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'icon': ('django.db.models.fields.files.ImageField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}),
+            'options': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'})
+        },
+        'catalogue.building': {
+            'Meta': {'unique_together': "(('number', 'street'),)"},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'number': ('django.db.models.fields.CharField', [], {'max_length': '8'}),
+            'street': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['catalogue.Street']"})
+        },
+        'catalogue.currency': {
+            'code': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '4', 'db_index': 'True'}),
+            'exchange_rate': ('django.db.models.fields.FloatField', [], {}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'symbol': ('django.db.models.fields.CharField', [], {'max_length': '8', 'blank': 'True'})
+        },
+        'catalogue.reservationperiod': {
+            'Meta': {'unique_together': "(('apartment', 'start', 'end'),)"},
+            'apartment': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['catalogue.Apartment']"}),
+            'end': ('django.db.models.fields.DateField', [], {'db_index': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'start': ('django.db.models.fields.DateField', [], {'db_index': 'True'})
+        },
+        'catalogue.street': {
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'})
+        },
+        'catalogue.streettranslation': {
+            'Meta': {'unique_together': "(('language_id', 'master'),)", 'db_table': "'catalogue_street_translation'"},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'language_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True'}),
+            'master': ('multilingual.fields.TranslationForeignKey', [], {'related_name': "'translations'", 'to': "orm['catalogue.Street']"}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        }
+    }
+    
+    complete_apps = ['catalogue']

catalogue/models.py

 import os.path
 
-import multilingual
 from django.conf import settings
 from django.db import models
 from django.db.models.sql.constants import LOOKUP_SEP
 from django_utils.daterange import DateRange
 from django_utils.functions import normalize_filename
 from django_utils.models import ImageWithThumbField
+import multilingual
 
 image_strorage_obj = image_storage.ImageStorage(settings.IMAGE_STORAGE_ROOT, settings.IMAGE_STORAGE_URL)
 
         
     class Translation(multilingual.Translation):
         description = models.TextField(blank=True, verbose_name=_('description'))
-
+    def save(self, * args, ** kwargs):
+        currencies = Currency.objects.all()
+        for c in currencies:
+            field_name = 'price_%s' % c.code
+            try:
+                currency = getattr(self, field_name, None)
+                if currency is None:
+                    new_price = '%4.2f' % (float(self.price_uah) / float(c.exchange_rate))
+                    setattr(self, field_name, new_price)
+            except AttributeError:
+                pass
+        super(Apartment, self).save(*args, ** kwargs)
     def __unicode__(self):
         if self.number is not None:
             return u'[%s] %s %s %s' % (self.code, self.building, _('num.'), self.number)
         unique_together = ('apartment', 'bonus_type')
         ordering = ('apartment', 'bonus_type',)
         verbose_name = _('bonus')
-        verbose_name_plural = _('bonuses')
+        verbose_name_plural = _('bonuses')
+
+class Currency(models.Model):
+    code = models.CharField(_('code'), max_length=4, unique=True, db_index=True)
+    exchange_rate = models.FloatField(_('exchange rate'))
+    symbol = models.CharField(_('symbol'), max_length=8, blank=True)
+    class Meta:
+        verbose_name = _('currency')
+        verbose_name_plural = _('currencies')
+        ordering = ('exchange_rate',)

db/development.sqlite

Binary file modified.