8.1 KiB
8.1 KiB
Модели
-
Contract:
contract_type(CharField): выбор типа договора (аренда, продажа).number(CharField): уникальный номер договора.start_date(DateField): дата начала договора.end_date(DateField): дата окончания договора (может быть пустой).esignature(BooleanField): указывает на наличие ЭЦП в договоре.edo(BooleanField): указывает на наличие ЭДО в договоре.tenant(ForeignKey): связь с моделью арендатора.goods(ManyToManyField): связь с имуществом, связанным с договором.related_objects(ManyToManyField): связь с объектами, связанными с договором.contract_file(ManyToManyField): связь с файлами/сканами договора.contract_photo_pp(ManyToManyField): связь с фотографиями при приеме-передаче недвижимости.
-
Payment:
payment_frequency(CharField): частота платежей (разовый, ежемесячно и т.д.).payment_method(CharField): метод оплаты (постоплата, предоплата).payment_type(CharField): тип оплаты (наличные, безналичные).rent_cost(DecimalField): стоимость аренды.rent_rate(DecimalField): арендная ставка.compensation(CharField): информация о компенсации.**security_deposit**(DecimalField): залог.**payment_duration**(DateField): дата окончания оплаты.is_paid(BooleanField): указывает на оплаченность платежа.contract(ForeignKey): связь с моделью договора.
Сериализатор
-
ContractSerializer:
id: Идентификатор договора.contractContractType: Тип договора.contractnumber: Номер договора.contractStartDate: Дата начала договора.contractEndDate: Дата окончания договора.contractEsignature: Наличие ЭЦП в договоре.contractEdo: Наличие ЭДО в договоре.tenant: Внешний ключ на модель арендатора.goods: Множественный внешний ключ на модель имущества.related_objects: Множественный внешний ключ на модель объектов.contractFile: Файл договора.contractPhotoPp: Фотография при приеме-передаче недвижимости.author: Информация об авторе (используетAuthorSerializer).createdAt: Дата создания.updatedAt: Дата обновления.
-
PaymentSerializer:
id: Идентификатор платежа.contract: Внешний ключ на модель договора.paymentFrequency: Частота платежей.paymentMethod: Метод оплаты.paymentType: Тип оплаты.paymentRentCost: Стоимость аренды.paymentRentRate: Арендная ставка.paymentCompensation: Компенсация.paymentSecurityDeposit: Залог.paymentPaymentDuration: Дата окончания оплаты.paymentIsPaid: Оплачено ли.author: Информация об авторе (используетAuthorSerializer).createdAt: Дата создания.updatedAt: Дата обновления.
Маршрутизатор
-
URL для списка и деталей договоров:
'': Этот URL указывает на корневой URL вашего приложения.- Включает все URL из
router, который зарегистрирован для представленияContractViewSet.
-
URL для списка платежей по договору и создания нового платежа:
contracts/<int:id>/payments: Этот URL позволяет получить список платежей для определенного договора с идентификаторомid. Он связан с представлениемPaymentContractViewSet.
-
URL для удаления платежа по договору:
contracts/<int:contract_id>/payments/<int:payment_id>/: Этот URL используется для удаления конкретного платежа для договора с идентификаторомcontract_idи идентификатором платежаpayment_id. Он связан с представлениемDeletePaymentContractView.
Контроллер
-
ContractViewSet:
queryset: Получает все объекты договоров (Contract).serializer_class: ИспользуетContractSerializerдля сериализации и десериализации данных.permission_classes: Позволяет доступ только аутентифицированным пользователям.lookup_field: Указывает поле, используемое для поиска объектов (в данном случае, идентификатор).http_method_names: Определяет доступные методы HTTP.- Методы:
list: Получает список договоров.create: Создает новый договор.retrieve: Получает детали конкретного договора.update: Обновляет данные договора.destroy: Удаляет договор.
-
PaymentViewSet:
queryset: Получает все объекты платежей (Payment).serializer_class: ИспользуетPaymentSerializerдля сериализации и десериализации данных.permission_classes: Позволяет доступ только аутентифицированным пользователям.lookup_field: Указывает поле, используемое для поиска объектов (в данном случае, идентификатор).http_method_names: Определяет доступные методы HTTP.- Методы:
list: Получает список платежей.create: Создает новый платеж.retrieve: Получает детали конкретного платежа.update: Обновляет данные платежа.destroy: Удаляет платеж.
-
PaymentContractViewSet:
- Представление для списка и создания платежей по договору.
queryset: Получает все объекты платежей (Payment).serializer_class: ИспользуетPaymentSerializerдля сериализации и десериализации данных.permission_classes: Позволяет доступ только аутентифицированным пользователям.- Методы:
list: Получает список платежей по конкретному договору.post: Создает новый платеж для указанного договора.
-
DeletePaymentContractView:
- Представление для удаления платежа по договору.
destroy: Удаляет указанный платеж по указанному договору.