From 4dca5cea4381795881a5b0074747cf8df5b07dea Mon Sep 17 00:00:00 2001 From: Sayyid Hamid Mahdavi Date: Tue, 10 Jun 2025 15:38:45 +0330 Subject: [PATCH] add application Preferences --- .../0004_alter_data_plan_alter_data_user.py | 26 +++++++++++++++++++ apps/crud/models.py | 4 +-- apps/crud/serializers.py | 3 --- apps/crud/urls.py | 3 ++- data_crud/urls.py | 2 +- 5 files changed, 31 insertions(+), 7 deletions(-) create mode 100644 apps/crud/migrations/0004_alter_data_plan_alter_data_user.py diff --git a/apps/crud/migrations/0004_alter_data_plan_alter_data_user.py b/apps/crud/migrations/0004_alter_data_plan_alter_data_user.py new file mode 100644 index 0000000..e152dab --- /dev/null +++ b/apps/crud/migrations/0004_alter_data_plan_alter_data_user.py @@ -0,0 +1,26 @@ +# Generated by Django 5.1.4 on 2025-06-10 12:07 + +import django.db.models.deletion +from django.conf import settings +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('crud', '0003_alter_plan_owner'), + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ] + + operations = [ + migrations.AlterField( + model_name='data', + name='plan', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='crud.plan'), + ), + migrations.AlterField( + model_name='data', + name='user', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to=settings.AUTH_USER_MODEL), + ), + ] diff --git a/apps/crud/models.py b/apps/crud/models.py index ff06e60..6564b64 100644 --- a/apps/crud/models.py +++ b/apps/crud/models.py @@ -12,8 +12,8 @@ class Plan(models.Model): class Data(models.Model): - user = models.ForeignKey(User, on_delete=models.PROTECT) - plan = models.ForeignKey(Plan, on_delete=models.PROTECT) + user = models.ForeignKey(User, on_delete=models.PROTECT, null=True, blank=True) + plan = models.ForeignKey(Plan, on_delete=models.PROTECT, null=True, blank=True) data = models.JSONField(default=dict) @property diff --git a/apps/crud/serializers.py b/apps/crud/serializers.py index 9092a89..f7aa6b9 100644 --- a/apps/crud/serializers.py +++ b/apps/crud/serializers.py @@ -6,9 +6,6 @@ class DataSerializer(serializers.ModelSerializer): class Meta: model = Data fields = ( - 'application', - 'user', 'data', ) - read_only_fields = ['user'] diff --git a/apps/crud/urls.py b/apps/crud/urls.py index b555e2c..d6557f2 100644 --- a/apps/crud/urls.py +++ b/apps/crud/urls.py @@ -52,6 +52,7 @@ router = CRUDRouter() app_name = 'crud' -router.register('', views.DataViewSet, basename='crud') +router.register('user', views.UserDataViewSet, basename='user-data') +router.register('application', views.ApplicationDataViewSet, basename='application-data') urlpatterns = router.urls diff --git a/data_crud/urls.py b/data_crud/urls.py index 6a632ad..f353362 100644 --- a/data_crud/urls.py +++ b/data_crud/urls.py @@ -37,7 +37,7 @@ urlpatterns = [ path('', include('apps.core.urls')), path('users/', include('apps.users.urls')), path('oauth2/', include('oauth2_provider.urls', namespace='oauth2_provider')), - path('crud/', include('apps.crud.urls', namespace='crud')), + path('data/', include('apps.crud.urls', namespace='crud')), ] urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)