Add search fields to views

Make receptoraddress list views
searchable by "address"

Other changes:
- Add help text to source and target of the
InstanceLink model

Signed-off-by: Seth Foster <fosterbseth@gmail.com>
This commit is contained in:
Seth Foster 2023-11-16 00:50:38 -05:00 committed by Seth Foster
parent 04cbbbccfa
commit ab0e9265c5
4 changed files with 15 additions and 15 deletions

View File

@ -376,31 +376,28 @@ class InstanceUnifiedJobsList(SubListAPIView):
class InstancePeersList(SubListAPIView):
name = _("Peers")
parent_model = models.Instance
model = models.ReceptorAddress
serializer_class = serializers.ReceptorAddressSerializer
parent_model = models.Instance
parent_access = 'read'
relationship = 'peers'
search_fields = 'address'
search_fields = ('address',)
class InstanceReceptorAddressesList(ListCreateAPIView):
class InstanceReceptorAddressesList(SubListCreateAPIView):
name = _("Receptor Addresses")
model = models.ReceptorAddress
parent_key = 'instance'
parent_model = models.Instance
serializer_class = serializers.ReceptorAddressSerializer
def get_queryset(self):
return models.ReceptorAddress.objects.filter(instance=self.kwargs['pk'])
def post(self, request, *args, **kwargs):
request.data.update({'instance': self.kwargs['pk']})
return super().post(request, *args, **kwargs)
search_fields = ('address',)
class ReceptorAddressesList(ListCreateAPIView):
name = _("Receptor Addresses")
model = models.ReceptorAddress
serializer_class = serializers.ReceptorAddressSerializer
search_fields = ('address',)
class ReceptorAddressDetail(RetrieveUpdateDestroyAPIView):

View File

@ -1,4 +1,4 @@
# Generated by Django 4.2.6 on 2023-11-15 17:32
# Generated by Django 4.2.6 on 2023-11-16 05:50
import django.core.validators
from django.db import migrations, models
@ -56,7 +56,7 @@ class Migration(migrations.Migration):
migrations.AlterField(
model_name='instancelink',
name='source',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='main.instance'),
field=models.ForeignKey(help_text='The source instance of this peer link.', on_delete=django.db.models.deletion.CASCADE, to='main.instance'),
),
migrations.AddConstraint(
model_name='instancelink',
@ -80,7 +80,9 @@ class Migration(migrations.Migration):
migrations.AlterField(
model_name='instancelink',
name='target',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='main.receptoraddress'),
field=models.ForeignKey(
help_text='The target receptor address of this peer link.', on_delete=django.db.models.deletion.CASCADE, to='main.receptoraddress'
),
),
migrations.AddConstraint(
model_name='receptoraddress',

View File

@ -70,8 +70,8 @@ class InstanceLink(BaseModel):
ordering = ("id",)
constraints = [models.UniqueConstraint(fields=['source', 'target'], name='source_target_unique_together')]
source = models.ForeignKey('Instance', on_delete=models.CASCADE)
target = models.ForeignKey('ReceptorAddress', on_delete=models.CASCADE)
source = models.ForeignKey('Instance', on_delete=models.CASCADE, help_text=_("The source instance of this peer link."))
target = models.ForeignKey('ReceptorAddress', on_delete=models.CASCADE, help_text=_("The target receptor address of this peer link."))
class States(models.TextChoices):
ADDING = 'adding', _('Adding')

View File

@ -35,6 +35,7 @@ class ReceptorAddress(models.Model):
'Instance',
related_name='receptor_addresses',
on_delete=models.CASCADE,
null=False,
)
def __str__(self):