# Manage fields
## Usage
**views.py**
```pycon
from manage_fields.mixins import MFViewMixin
class MyView(MFViewMixin, ...):
serializer_class = MySerializer
....
```
**serializers.py**
```pycon
from manage_fields.mixins import MFSerializerMixin
class MySerializer(MFSerializerMixin, ...):
...
```
**Request**
```text
https://abcd.com/?allow_fields={id,name}
```
### Params
`allow_fields` - Fields returned in response
`disallow_fields` - Fields that are not returned in the response
### Example
**models.py**
```pycon
class Example(models.Model):
field1 = models.CharField(max_length=50)
field2 = models.TextField()
field3 = models.IntegerField()
```
**Request**
```text
https://example.com/?allow_fields={id,field1}
```
**Response**
```json
[
{
"id": 1,
"field1": "Field1 value 1"
},
{
"id": 2,
"field1": "Field1 value 2"
}
]
```
**Request**
```text
https://example.com/?disallow_fields={id,field1}
```
**Response**
```json
[
{
"field2": "Field2 value 1",
"field3": "Field3 value 1"
},
{
"field2": "Field2 value 2",
"field3": "Field3 value 2"
}
]
```
Also you can use this package for `CreateAPIView`, `UpdateAPIView`, `RetrieveAPIView`
Raw data
{
"_id": null,
"home_page": "",
"name": "manage-fields",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "python,field,serializer,manage fields",
"author": "Maxmudov Asliddin",
"author_email": "<asliddin750750@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/34/bc/52320076591c4aa779cd20a4a63ed2b43981ebaa646a03f868879dc1f445/manage-fields-0.0.7.tar.gz",
"platform": null,
"description": "# Manage fields\n\n## Usage\n\n**views.py**\n\n```pycon\nfrom manage_fields.mixins import MFViewMixin\n\nclass MyView(MFViewMixin, ...):\n serializer_class = MySerializer\n ....\n```\n\n**serializers.py**\n\n```pycon\nfrom manage_fields.mixins import MFSerializerMixin\n\nclass MySerializer(MFSerializerMixin, ...):\n ...\n```\n\n**Request**\n\n```text\nhttps://abcd.com/?allow_fields={id,name}\n```\n\n### Params\n\n`allow_fields` - Fields returned in response\n\n`disallow_fields` - Fields that are not returned in the response\n\n### Example\n\n**models.py**\n\n```pycon\nclass Example(models.Model):\n field1 = models.CharField(max_length=50)\n field2 = models.TextField()\n field3 = models.IntegerField()\n```\n\n**Request**\n\n```text\nhttps://example.com/?allow_fields={id,field1}\n```\n\n**Response**\n\n```json\n[\n {\n \"id\": 1,\n \"field1\": \"Field1 value 1\"\n },\n {\n \"id\": 2,\n \"field1\": \"Field1 value 2\"\n }\n]\n```\n\n**Request**\n\n```text\nhttps://example.com/?disallow_fields={id,field1}\n```\n\n**Response**\n\n```json\n[\n {\n \"field2\": \"Field2 value 1\",\n \"field3\": \"Field3 value 1\"\n },\n {\n \"field2\": \"Field2 value 2\",\n \"field3\": \"Field3 value 2\"\n }\n]\n```\n\nAlso you can use this package for `CreateAPIView`, `UpdateAPIView`, `RetrieveAPIView`\n",
"bugtrack_url": null,
"license": "",
"summary": "Manage fields by request params",
"version": "0.0.7",
"project_urls": null,
"split_keywords": [
"python",
"field",
"serializer",
"manage fields"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "6f1e683f8f07d40bd43a226905d44a62cad8434b4945276602a8d3570576982e",
"md5": "2fa469dd2dea4f8a61b956ebd602c297",
"sha256": "8a547ec1c0de216b38c4268528c66aac8054c918eea7e34715a88a9a057b4853"
},
"downloads": -1,
"filename": "manage_fields-0.0.7-py3-none-any.whl",
"has_sig": false,
"md5_digest": "2fa469dd2dea4f8a61b956ebd602c297",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 2453,
"upload_time": "2023-09-18T13:36:26",
"upload_time_iso_8601": "2023-09-18T13:36:26.207921Z",
"url": "https://files.pythonhosted.org/packages/6f/1e/683f8f07d40bd43a226905d44a62cad8434b4945276602a8d3570576982e/manage_fields-0.0.7-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "34bc52320076591c4aa779cd20a4a63ed2b43981ebaa646a03f868879dc1f445",
"md5": "84528c07fdc3272f7fc5c96de4b32057",
"sha256": "3f911a46550683d992d5e98d33c6f65936548a0b17ed22ace851e0e3d5e6a567"
},
"downloads": -1,
"filename": "manage-fields-0.0.7.tar.gz",
"has_sig": false,
"md5_digest": "84528c07fdc3272f7fc5c96de4b32057",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 2284,
"upload_time": "2023-09-18T13:36:28",
"upload_time_iso_8601": "2023-09-18T13:36:28.167466Z",
"url": "https://files.pythonhosted.org/packages/34/bc/52320076591c4aa779cd20a4a63ed2b43981ebaa646a03f868879dc1f445/manage-fields-0.0.7.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-09-18 13:36:28",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "manage-fields"
}