django model different schema

# Step 1: Import necessary modules
from django.db import models

# Step 2: Define the first model with a custom schema
class FirstModel(models.Model):
    field_one = models.CharField(max_length=50)
    field_two = models.IntegerField()

    class Meta:
        db_table = 'custom_first_model_table'

# Step 3: Define the second model with a different schema
class SecondModel(models.Model):
    field_three = models.DateField()
    field_four = models.DecimalField(max_digits=5, decimal_places=2)

    class Meta:
        db_table = 'custom_second_model_table'
# Step 4: Create and apply migrations
# Run the following commands in the terminal:
# python manage.py makemigrations
# python manage.py migrate
# Step 5: Use the models in views, serializers, etc.
# Example in views.py:
from django.shortcuts import render
from .models import FirstModel, SecondModel

def my_view(request):
    # Example query using the first model
    first_model_objects = FirstModel.objects.all()

    # Example query using the second model
    second_model_objects = SecondModel.objects.filter(field_three__gte='2023-01-01')

    # Rest of the view logic...
    return render(request, 'my_template.html', context={'first_model_objects': first_model_objects, 'second_model_objects': second_model_objects})
# Step 6: Update database configurations (optional)
# If using multiple databases, define the database alias in settings.py
# Example:
# DATABASES = {
#     'default': {
#         'ENGINE': 'django.db.backends.sqlite3',
#         'NAME': BASE_DIR / "db.sqlite3",
#     },
#     'custom_db_alias': {
#         'ENGINE': 'django.db.backends.sqlite3',
#         'NAME': BASE_DIR / "custom_db.sqlite3",
#     },
# }

# Use the alias in models' Meta class:
# class FirstModel(models.Model):
#     # ... fields ...
#     class Meta:
#         db_table = 'custom_first_model_table'
#         app_label = 'my_app'
#         # Specify the database alias
#         using = 'custom_db_alias'

Note: Replace 'custom_first_model_table', 'custom_second_model_table', and 'my_app' with your desired table names and app label.