Metadata-Version: 2.1
Name: auto-view-generator
Version: 0.1.2
Summary: A Django management command to generate views and serializers based on models.
Home-page: https://github.com/yourusername/my_django_generator
Author: Adarsh Shukla
Author-email: adarshukla999@gmail.com
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Framework :: Django
Description-Content-Type: text/markdown
License-File: LICENCE
Requires-Dist: django>=3.0

Django View and Serializer Generator
This Django management command automatically generates views.py and serializers.py files with basic viewsets and serializers for each model defined in the projectâ€™s models.py file. It saves development time by creating boilerplate code for API views and serializers based on your models.

Features
Automatically generates views.py and serializers.py files based on models defined in a specified Django app.
Creates a ModelViewSet for each model in views.py to enable CRUD operations.
Generates a ModelSerializer for each model in serializers.py, including all model fields.
Installation
To install this library, use pip:

bash
Copy code
pip install django-view-serializer-generator
Then, add the app to your Django project's INSTALLED_APPS:

python
Copy code
# settings.py
INSTALLED_APPS = [
    # Other installed apps
    'view_serializer_generator',  # Add the generator app
]
Usage
Navigate to your Django project directory where manage.py is located.

Run the command to generate views and serializers:

bash
Copy code
python manage.py generate_views_and_serializers
The command will look for models defined in the app specified in the code and generate views.py and serializers.py with the appropriate viewsets and serializers.

Example Output
The command creates views.py and serializers.py in the specified app (e.g., Paypal), with code similar to:

serializers.py

python
Copy code
from rest_framework import serializers
from .models import YourModel

class YourModelSerializer(serializers.ModelSerializer):
    class Meta:
        model = YourModel
        fields = '__all__'
views.py

python
Copy code
from rest_framework import viewsets
from .models import YourModel
from .serializers import YourModelSerializer

class YourModelViewSet(viewsets.ModelViewSet):
    queryset = YourModel.objects.all()
    serializer_class = YourModelSerializer
Folder Structure
To follow best practices, maintain the following folder structure:

markdown
Copy code
myproject/
â”œâ”€â”€ myapp/
â”‚   â”œâ”€â”€ management/
â”‚   â”‚   â””â”€â”€ commands/
â”‚   â”‚       â””â”€â”€ generate_views_and_serializers.py
â”‚   â”œâ”€â”€ migrations/
â”‚   â”œâ”€â”€ __init__.py
â”‚   â”œâ”€â”€ models.py
â”‚   â”œâ”€â”€ serializers.py
â”‚   â”œâ”€â”€ views.py
â”‚   â”œâ”€â”€ urls.py
â”œâ”€â”€ manage.py
â”œâ”€â”€ settings.py
Customizing the Command
By default, this command looks for an app named Paypal. If your app has a different name, update the app_name variable in generate_views_and_serializers.py:

python
Copy code
app_name = 'YourAppName'
License
This project is licensed under the MIT License - see the LICENSE file for details.
