8.5 KiB
8.5 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(CharField): Тип договора.contractnumber(CharField): Номер договора.contractStartDate(DateField): Дата начала договора.contractEndDate(DateField): Дата окончания договора, может быть пустым.contractEsignature(BooleanField): Наличие ЭЦП в договоре.contractEdo(BooleanField): Наличие ЭДО в договоре.tenant(TenantSerializer): Внешний ключ на модель арендатора.goods(PrimaryKeyRelatedField): Множественный внешний ключ на модель имущества.related_objects(PrimaryKeyRelatedField): Множественный внешний ключ на модель объектов.contractFile(FileField): Файл договора.contractPhotoPp(FileField): Фотография при приеме-передаче недвижимости.author(PrimaryKeyRelatedField): Информация об авторе (используетAuthorSerializer).createdAt(DateTimeField): Дата создания.updatedAt(DateTimeField): Дата обновления.
-
PaymentSerializer:
id: Идентификатор платежа.contract(PrimaryKeyRelatedField): Внешний ключ на модель договора.paymentFrequency(CharField): Частота платежей.paymentMethod(CharField): Метод оплаты.paymentType(CharField): Тип оплаты.paymentRentCost(DecimalField): Стоимость аренды.paymentRentRate(DecimalField): Арендная ставка.paymentCompensation(CharField): Компенсация.paymentSecurityDeposit(DecimalField): Залог.paymentPaymentDuration(DateField): Дата окончания оплаты.paymentIsPaid(BooleanField): Оплачено ли.author(PrimaryKeyRelatedField): Информация об авторе (используетAuthorSerializer).createdAt(DateTimeField): Дата создания.updatedAt(DateTimeField): Дата обновления.
Маршрутизатор
-
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: Удаляет указанный платеж по указанному договору.